⊗jsPmMCVFEO 504 of 505 menu

Eksport af et objekt i moduler via closures i JavaScript

Lad os sige, at vi har følgende modul:

;(function() { function func1() { alert('module function'); } function func2() { alert('module function'); } function func3() { alert('module function'); } })();

Lad os sige, at vi vil eksportere alle tre funktioner udadtil. I dette tilfælde, for ikke at skabe for mange unødvendige funktionsnavne uden for modulet, er det bedre at gemme alle funktionerne i et enkelt objekt og udføre eksport af dette objekt:

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

Da nøglenavnene og variabelnavnene er de samme, kan objektet med funktionerne forenkles:

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

Man kan også gøre det på en anden måde. Vi kan gemme funktionerne i objektet med det samme, når funktionen beskrives, sådan her:

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

Følgende modul er givet:

;(function() { let str1 = 'module variable'; let str2 = 'module variable'; let str3 = 'module variable'; function func1() { alert('module function'); } function func2() { alert('module function'); } function func3() { alert('module function'); } function func4() { alert('module function'); } function func5() { alert('module function'); } })();

Eksporter et objekt med de første fem funktioner og de første to variable udadtil.

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