JavaScript-da anonim funksiýalary baglanyşyklardan aýyrmak
Indi biziň abzaslarymyza anonim funksiýanyň baglanyşdyrylandygyny göz öňüne getireliň:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', function() {
console.log(this.textContent);
});
}
Diňe şu abzasa basanyňyzdan soň, bu funksiýany ondan baglanyşyklardan aýyrmak isleýändigimizi farz edeliň. Emma biziň garşymyzda bir problema durýar: funksiýanyň ady ýok, şonuň üçin ony ady boýunça çagyryp, baglanyşyklardan aýyrmak mümkin däldir.
Bu meseläni çözmek üçin funksiýa at bermek gerek, ony atly funksiýa ekspressiýasyna öwürmek bilen. Geliň muny edeliň:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', function func() { // funksiýa at berildi
console.log(this.textContent);
});
}
Indi bu funksiýany onuň öz içinde baglanyşyklardan aýyrmak mümkin:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', function func() {
console.log(this.textContent);
this.removeEventListener('click', func); // funksiýany baglanyşyklardan aýyrýarys
});
}
Her bir elementinde bir san ýazylan ul
sanawy berlen. Her bir li-e basylanyňyzda,
onuň sanynyň bir öwse ýokarlanýandygy üçin etmegiňizi haýyş edýäris.
Öňki mesele üýtgediň, şeýlelik bilen
her bir li öz sanyny diňe ilkinji gezek
basylanynda ýokarlandyrsyn.
Öňki mesele üýtgediň, şeýlelik bilen
her bir li diňe onuň sany
10-dan kiçi bolanda öz sanyny ýokarlandyrsyn.