⊗jsPmFCCl 274 of 505 menu

Closures e Invocação Imediata de Função em JavaScript

Como você já sabe, é possível chamar uma função anônima imediatamente e atribuir o resultado a alguma variável:

let result = function() { return '!'; }(); console.log(result); // exibirá '!'

Frequentemente, a função que é invocada imediatamente é colocada entre parênteses nesses casos, embora não seja necessário. Isso é feito para que fique imediatamente claro que a função está sendo invocada no local:

let result = (function() { return '!'; })(); console.log(result); // exibirá '!'

Suponha agora que o resultado da função invocada imediatamente seja outra função anônima:

let func = (function() { return function() { console.log('!'); } })(); func(); // exibirá '!'

Vamos fazer com que a função retornada armazene a variável num em um closure:

let func = (function() { let num = 1; return function() { console.log(num); } })();

Se adicionarmos também num++, então a função func se tornará um contador pronto:

let func = (function() { let num = 1; return function() { console.log(num); num++; } })(); func(); // exibirá 1 func(); // exibirá 2 func(); // exibirá 3 func(); // exibirá 4 func(); // exibirá 5

Sem espiar o meu código, implemente independentemente um contador similar.

Modifique o funcionamento do contador para que ele conte até 5 e, em seguida, a contagem recomece do início.

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