Kutenganisha Kazi Bila Majina katika JavaScript
Hebu sasa kwa aya zetu zimefungwa kazi bila majina:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', function() {
console.log(this.textContent);
});
}
Hebu tunataka kutenganisha kazi hii kutoka kwa aya baada ya kubofya kwenye aya hii. Hata hivyo, tunakabiliwa na tatizo: kazi haina jina, na hivyo basi hatutaweza kuirejea kwa jina hilo, ili kuitenganisha.
Ili kutatua tatizo inahitajika kuipa jina kazi hiyo, kuifanya kuwa usemi wa kazi wenye jina. Hebu tufanye hivyo:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', function func() { // tuliipa jina kazi
console.log(this.textContent);
});
}
Sasa kazi hii inaweza kutenganishwa ndani yake yenyewe:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', function func() {
console.log(this.textContent);
this.removeEventListener('click', func); // tunatenganisha kazi
});
}
Imetolewa orodha ul, ambapo kwa kila kipengele
kimeandikwa nambari. Fanya ili kwa
kubofya kwenye li yoyote thamani yake iongezeke
kwa moja.
Badilisha shida iliyotangulia ili,
li kila moja iongeze thamani yake
tu kwa kubofya kwa mara ya kwanza
juu yake.
Badilisha shida iliyotangulia ili,
li kila moja iongeze thamani yake
tu ikiwa thamani yake
ni ndogo kuliko 10.