⊗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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне