JavaScript-те анонимді функцияларды байланысты жою

Енді біздің абзацтарға анонимді функция байланған делік:

javascriptlet elems = document.querySelectorAll('p');

for (let elem of elems) {
  elem.addEventListener('click', function() {
    console.log(this.textContent);
  });
}

Біз осы абзацқа басқаннан кейін оны жоққа шығарғымыз келеді делік. Бірақ бізді мәселе күтіп тұр: функцияның аты жоқ, демек біз оны жою үшін осы ат бойынша шақыра алмаймыз.

Мәселені шешу үшін функцияға атау беру керек, яғни оны атаулы функционалды өрнек етіп жасау керек. Мұны істейік:

javascriptlet elems = document.querySelectorAll('p');

for (let elem of elems) {
  elem.addEventListener('click', function func() { // функцияға атау бердік
    console.log(this.textContent);
  });
}

Енді бұл функцияны оның ішінде жоюға болады:

javascriptlet elems = document.querySelectorAll('p');

for (let elem of elems) {
  elem.addEventListener('click', function func() {
    console.log(this.textContent);
    this.removeEventListener('click', func); // функцияны жоямыз
  });
}
Задание 1

ul тізімі берілген, әрбір элементте сан жазылған. Кез келген li элементіне басқанда оның саны бірге артуы үшін жасаңыз.

Задание 2

Алдыңғы тапсырманы өзгертіп, әрбір li элементі өз мәнін тек бірінші рет басқанда ғана арттырсын.

Задание 3

Алдыңғы тапсырманы өзгертіп, әрбір li элементі өз мәнін тек ол 10-нан кіші болғанда ғана арттырсын.