⊗jsPmDmAHU 363 of 505 menu

Dezlegarea funcțiilor anonime în JavaScript

Să presupunem acum că la paragrafele noastre este legată o funcție anonimă:

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

Să presupunem că vrem să dezlegăm această funcție de paragraf după click pe acest paragraf. Însă, ne așteaptă o problemă: funcția nu are un nume, ceea ce înseamnă că nu vom putea face referire la ea după acel nume, pentru a o dezlega.

Pentru a rezolva problema, trebuie să dăm un nume funcției, făcând din ea o expresie funcțională denumită. Să facem asta:

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', function func() { // am dat un nume funcției console.log(this.textContent); }); }

Acum această funcție poate fi dezlegată în interiorul ei însăși:

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', function func() { console.log(this.textContent); this.removeEventListener('click', func); // dezlegăm funcția }); }

Este dată o listă ul, în fiecare element al căruia este scris un număr. Faceți astfel încât la click pe orice li numărul ei să crească cu unu.

Modificați problema anterioară astfel încât fiecare li să-și mărească valoarea doar la prima apăsare pe ea.

Modificați problema anterioară astfel încât fiecare li să-și mărească valoarea doar dacă valoarea ei este mai mică decât 10.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge