⊗jsPmDmAHU 363 of 505 menu

Løsne anonyme funksjoner i JavaScript

La oss nå anta at anonyme funksjoner er bundet til våre avsnitt:

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

La oss si at vi ønsker å løsne denne funksjonen fra avsnittet etter et klikk på dette avsnittet. Vi vil imidlertid møte et problem: funksjonen har ikke noe navn, no som betyr at vi ikke kan referere til den ved navn for å løsne den.

For å løse problemet må vi gi funksjonen et navn, og gjøre den om til et navngitt funksjonsuttrykk. La oss gjøre det:

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

Nå kan denne funksjonen løsnes inni seg selv:

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', function func() { console.log(this.textContent); this.removeEventListener('click', func); // løsner funksjonen }); }

Gitt en liste ul, hvor hvert punkt inneholder et tall. Gjør slik at ved klikk på en hvilken som helst li, økes dens tall med én.

Modifiser den forrige oppgaven slik at hver li kun øker sin verdi ved første trykk på den.

Modifiser den forrige oppgaven slik at hver li kun øker sin verdi hvis verdien er mindre enn 10.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis