JavaScript'te Anonim Fonksiyonların Bağını Çözme

Şimdi paragraflarımıza anonim bir fonksiyonun bağlandığını varsayalım:

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

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

Bir paragrafa tıklandıktan sonra bu fonksiyonun bağını çözmek istediğimizi varsayalım. Ancak bir problemle karşılaşırız: fonksiyonun bir adı yok, bu da onu bağını çözmek için adıyla çağıramayacağımız anlamına gelir.

Problemi çözmek için, fonksiyonu isimli fonksiyon ifadesine dönüştürerek bir ad vermemiz gerekir. Bunu yapalım:

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

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

Artık bu fonksiyonun bağı kendi içinden çözülebilir:

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

for (let elem of elems) {
  elem.addEventListener('click', function func() {
    console.log(this.textContent);
    this.removeEventListener('click', func); // fonksiyonun bağını çözüyoruz
  });
}
Задание 1

Her bir elemanında bir sayı yazan bir ul listesi verilsin. Herhangi bir li'ye tıklandığında içindeki sayının bir arttırılmasını sağlayın.

Задание 2

Önceki görevi, her bir li'nin değerini sadece ilk tıklamada artıracak şekilde değiştirin.

Задание 3

Önceki görevi, her bir li'nin değeri 10'dan küçükse değerini artıracak şekilde değiştirin.