Shkëputja e Funksioneve Anonime në JavaScript

Supozoni tani që funksione anonime janë të lidhura me paragrafët tanë:

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

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

Supozoni që ne duam të shkëputim këtë funksion nga paragrafi pas një klikimi mbi këtë paragraf. Megjithatë, ne përballemi me një problem: funksioni nuk ka emër, që do të thotë ne nuk do të jemi në gjendje t'i referohemi atij me këtë emër për ta shkëputur atë.

Për të zgjidhur problemin, duhet t'i jepni një emër funksionit, duke e kthyer atë në një shprehje funksionale të emërtuar. Le ta bëjmë këtë:

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

for (let elem of elems) {
  elem.addEventListener('click', function func() { // i dhamë emër funksionit
    console.log(this.textContent);
  });
}

Tani ky funksion mund të shkëputet brenda vetvetes:

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

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

Jepet një listë ul, në çdo element të së cilës është shkruar një numër. Bëni që me klikim në çdo li numri i saj të rritet me një.

Задание 2

Modifikoni detyrën e mëparshme në mënyrë që çdo li të rrisë vetëm vlerën e saj në klikimin e parë mbi të.

Задание 3

Modifikoni detyrën e mëparshme në mënyrë që çdo li të rrisë vetëm vlerën e saj nëse vlera e saj është më e vogël se 10.