JavaScript-də Anonim Funksiyaların Açılması
Indi tutaq ki, bizim abzaslarımıza anonim funksiya bağlanıb:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', function() {
console.log(this.textContent);
});
}
Tutaq ki, biz bu funksiyanı abzaza kliklədikdən sonra ondan açmaq istəyirik. Lakin bizi problem gözləyir: funksiyanın adı yoxdur, deməli biz onu açmaq üçün bu adla müraciət edə bilməyəcəyik.
Problemi həll etmək üçün funksiyaya ad vermək lazımdır, onu adlandırılmış funksional ifadəyə çevirərək. Gəlin bunu edək:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', function func() { // funksiyaya ad verdik
console.log(this.textContent);
});
}
Indi bu funksiya öz içərisindən açıla bilər:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', function func() {
console.log(this.textContent);
this.removeEventListener('click', func); // funksiyanı açırıq
});
}
ul siyahısı verilib, hər bir bəndində
ədəd yazılıb. Elə edin ki, istənilən
li-yə kliklədikdə onun ədədi
bir vahid artsın.
Əvvəlki məsələni elə dəyişin ki,
hər bir li öz ədədini yalnız
ilk dəfə basıldıqda artırsın.
Əvvəlki məsələni elə dəyişin ki,
hər bir li öz ədədini yalnız
onun qiyməti 10-dan kiçik olduqda artırsın.