⊗jsPmFCCl 274 of 505 menu

Chiusure e Invocazione Immediata di Funzioni in JavaScript

Come già sapete, è possibile invocare una funzione anonima immediatamente e assegnare il risultato a una variabile:

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

Spesso la funzione che viene invocata immediatamente, in tali casi, viene racchiusa tra parentesi tonde, anche se non è strettamente necessario. Questo si fa per rendere immediatamente evidente che la funzione viene invocata sul posto:

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

Supponiamo ora che il risultato della funzione inviocata immediatamente sia un'altra funzione anonima:

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

Facciamo in modo che la funzione restituita conservi nella chiusura la variabile num:

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

Se aggiungiamo anche num++, allora la funzione func diventerà un contatore pronto all'uso:

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

Senza guardare il mio codice, implementate autonomamente un contatore simile.

Modificate il funzionamento del contatore in modo che conti fino a 5, e poi ricominci da capo.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta