JavaScript'te Anonim Fonksiyonların Bağını Çözme
Şimdi paragraflarımıza anonim bir fonksiyonun bağlandığını varsayalım:
let 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:
let 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:
let 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
});
}
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.
Önceki görevi, her bir li'nin değerini
sadece ilk tıklamada artıracak şekilde
değiştirin.
Önceki görevi, her bir li'nin değeri
10'dan küçükse değerini artıracak
şekilde değiştirin.