⊗jsPmDmAHU 363 of 505 menu

Desvinculando funções anônimas em JavaScript

Suponha que agora uma função anônima esteja vinculada aos nossos parágrafos:

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

Suponha que queiramos desvincular esta função do parágrafo após o clique neste parágrafo. No entanto, enfrentamos um problema: a função não tem nome, o que significa que não poderemos referenciá-la por um nome para desvinculá-la.

Para resolver o problema, precisamos dar um nome à função, transformando-a em uma expressão funcional nomeada. Vamos fazer isso:

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', function func() { // demos um nome à função console.log(this.textContent); }); }

Agora esta função pode ser desvinculada dentro dela mesma:

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', function func() { console.log(this.textContent); this.removeEventListener('click', func); // desvinculamos a função }); }

Dada uma lista ul, em cada item da qual um número está registrado. Faça com que ao clicar em qualquer li seu número seja incrementado em um.

Modifique a tarefa anterior para que cada li incremente seu valor apenas no primeiro clique nela.

Modifique a tarefa anterior para que cada li incremente seu valor apenas se seu valor for menor que 10.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar