JavaScript-da Anonim Funksiyalarni Bog‘lamaslik

Endi faraz qilaylik, bizning abzatslarimizga anonim funksiya bog‘langan:

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

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

Faraz qilaylik, biz ushbu abzats ustiga bosgandan so‘ng unga bog‘langan funksiyani bog‘lamaslikni istaymiz. Biroq, bizni muammo kutmoqda: funksiyaning nomi yo‘q, shuning uchun uni bog‘lamaslik uchun nomi bilan murojaat qila olmaymiz.

Muammoni hal qilish uchun funksiyaga nom berish kerak, uni nomlangan funksional ifodaga aylantirish orqali. Buni amalga oshiramiz:

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

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

Endi bu funksiyani uning o‘zi ichidan bog‘lamaslik mumkin:

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

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

ul ro‘yxati berilgan, uning har bir bandida raqam yozilgan. Har qanday li ustiga bosilganda uning raqami bittaga oshiriladigan qiling.

Задание 2

Oldingi vazifani shunday o‘zgartiringki, har bir li o‘z qiymatini faqat birinchi marta unga bosilganda oshirsin.

Задание 3

Oldingi vazifani shunday o‘zgartiringki, har bir li faqat uning qiymati 10 dan kichik bo‘lsagina o‘z qiymatini oshirsin.