Die Ontkoppeling van Anonieme Funksies in JavaScript

Gestel daar is nou 'n anonieme funksie aan ons paragrawe gekoppel:

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

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

Gestel ons wil hierdie funksie van die paragraaf ontkoppel na 'n klik op daardie paragraaf. Ons staar egter 'n probleem in die gesig: die funksie het geen naam nie, wat beteken ons kan nie daarna verwys om dit te ontkoppel nie.

Om die probleem op te los, moet ons die funksie 'n naam gee, deur dit 'n benoemde funksionele uitdrukking te maak. Kom ons doen dit:

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

for (let elem of elems) {
  elem.addEventListener('click', function func() { // het funksie 'n naam gegee
    console.log(this.textContent);
  });
}

Nou kan hierdie funksie binne homself ontkoppel word:

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

for (let elem of elems) {
  elem.addEventListener('click', function func() {
    console.log(this.textContent);
    this.removeEventListener('click', func); // ontkoppel die funksie
  });
}
Задание 1

Daar is 'n lys ul, waarin elke punt 'n nommer bevat. Maak dit so dat met 'n klik op enige li sy nommer verhoog met een.

Задание 2

Wysig die vorige taak sodat elke li sy waarde slegs met die eerste druk daarop verhoog.

Задание 3

Wysig die vorige taak sodat elke li sy waarde slegs verhoog as sy waarde kleiner as 10 is.