⊗jsPmMCVFEO 504 of 505 menu

Esportazione di oggetti nei moduli tramite chiusure in JavaScript

Supponiamo di avere il seguente modulo:

;(function() { function func1() { alert('funzione del modulo'); } function func2() { alert('funzione del modulo'); } function func3() { alert('funzione del modulo'); } })();

Supponiamo di voler esportare tutte e tre le funzioni. In questo caso, per non creare troppi nomi di funzioni all'esterno del modulo, è meglio inserire tutte le funzioni in un unico oggetto ed eseguire l'esportazione di questo oggetto:

;(function() { function func1() { alert('funzione del modulo'); } function func2() { alert('funzione del modulo'); } function func3() { alert('funzione del modulo'); } window.module = {func1: func1, func2: func2, func3: func3}; })();

Poiché i nomi delle chiavi e delle variabili coincidono, l'oggetto con le funzioni può essere semplificato:

;(function() { function func1() { alert('funzione del modulo'); } function func2() { alert('funzione del modulo'); } function func3() { alert('funzione del modulo'); } window.module = {func1, func2, func3}; })();

Si può procedere anche in un altro modo. Inseriamo le funzioni nell'oggetto direttamente quando definiamo la funzione, in questo modo:

;(function() { let module = {}; module.func1 = function() { alert('funzione del modulo'); } module.func2 = function() { alert('funzione del modulo'); } module.func3 = function() { alert('funzione del modulo'); } window.module = module; })();

È dato il seguente modulo:

;(function() { let str1 = 'variabile del modulo'; let str2 = 'variabile del modulo'; let str3 = 'variabile del modulo'; function func1() { alert('funzione del modulo'); } function func2() { alert('funzione del modulo'); } function func3() { alert('funzione del modulo'); } function func4() { alert('funzione del modulo'); } function func5() { alert('funzione del modulo'); } })();

Esporta all'esterno un oggetto con le prime cinque funzioni e le prime due variabili.

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