⊗jsPmDmAHU 363 of 505 menu

Het ontkoppelen van anonieme functies in JavaScript

Stel dat er nu een anonieme functie aan onze alinea's is gekoppeld:

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

Stel dat we deze functie van de alinea wilten ontkoppelen nadat erop is geklikt. We worden echter geconfronteerd met een probleem: de functie heeft geen naam, wat betekent dat we er niet naar kunnen verwijzen via die naam om hem te ontkoppelen.

Om het probleem op te lossen, moeten we de functie een naam geven, door er een benoemde function expressie van te maken. Laten we dit doen:

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', function func() { // gaf de functie een naam console.log(this.textContent); }); }

Nu kan deze functie binnenin zichzelf worden ontkoppeld:

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

Gegeven een lijst ul, waarvan elk item een getal bevat. Zorg ervoor dat bij een klik op eender welke li het getal ervan met één wordt verhoogd.

Wijzig de vorige opdracht zo, dat elke li zijn waarde alleen verhoogt bij de eerste keer klikken eraan.

Wijzig de vorige opdracht zo, dat elke li zijn waarde alleen verhoogt als de waarde kleiner is dan 10.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren