JavaScript-те анонимді функцияларды байланысты жою
Енді біздің абзацтарға анонимді функция байланған делік:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', function() {
console.log(this.textContent);
});
}
Біз осы абзацқа басқаннан кейін оны жоққа шығарғымыз келеді делік. Бірақ бізді мәселе күтіп тұр: функцияның аты жоқ, демек біз оны жою үшін осы ат бойынша шақыра алмаймыз.
Мәселені шешу үшін функцияға атау беру керек, яғни оны атаулы функционалды өрнек етіп жасау керек. Мұны істейік:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', function func() { // функцияға атау бердік
console.log(this.textContent);
});
}
Енді бұл функцияны оның ішінде жоюға болады:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', function func() {
console.log(this.textContent);
this.removeEventListener('click', func); // функцияны жоямыз
});
}
ul тізімі берілген, әрбір элементте
сан жазылған. Кез келген li элементіне
басқанда оның саны бірге артуы үшін жасаңыз.
Алдыңғы тапсырманы өзгертіп, әрбір
li элементі өз мәнін тек бірінші рет
басқанда ғана арттырсын.
Алдыңғы тапсырманы өзгертіп, әрбір
li элементі өз мәнін тек ол
10-нан кіші болғанда ғана арттырсын.