⊗jsPmDmAHU 363 of 505 menu

JavaScript'те анонимдук функцияларды байланыштан чыгаруу

Эми биздин абзацтарга анонимдук функция байланган деп коёлу:

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

Бул абзацты чыкылгагандан кийин андан бул функцияны байланыштан чыгаргыбыз келет деп коёлу. Бирок, биз көйгөйгө дуушар болобуз: функциянын аты жок, демек аны ат менен атап, байланыштан чыгара албайбыз.

Көйгөйдү чечүү үчүн, функцияга ат берүү керек, аны аталган функционалдык туюнтмага айландырып. Муну жасайлы:

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', function func() { // функцияга ат бердик console.log(this.textContent); }); }

Эми бул функцияны өзүнүн ичинден байланыштан чыгарууга болот:

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', function func() { console.log(this.textContent); this.removeEventListener('click', func); // функцияны байланыштан чыгарабыз }); }

ul тизмеси берилди, ар бир пунктунда сан жазылган. Ар бир li чыкылганда анын саны бирге көбөйсүн кылгыла.

Мурунку тапшырманы өзгөртүп, ар бир li өзүнүн маанисин гана биринчи жолу басканда көбөйтсүн.

Мурунку тапшырманы өзгөртүп, ар бир li өзүнүн мааниси 10дан кичине болсо гана маанисин көбөйтсүн.

Кыргызча
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어LietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Биз сайттин иштөөсү, аналитика жана персонализация үчүн cookie файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу