⊗jsPmMCLb 505 of 505 menu

Zárásokkal készített könyvtárak JavaScriptben

Gyakran készítenek könyvtárakat JavaScriptben, amelyek más programozók által használható függvénygyűjtemények.

Az ilyen könyvtárakat általában zárásokkal becsomagolják modulokká. Ez azért történik, hogy a könyvtár csatolásakor a külső világban oly kevés függvény jelenjen meg, amennyire csak lehetséges.

Általában minden könyvtár arra törekszik, hogy a külső világban csak egy változót hozzon létre - a könyvtár függvényeit tartalmazó objektumot. Eközben a könyvtár kódján belül egyes függvények alapvetőek, mások - kisegítőek. Nyilvánvaló, hogy a külső világba csak a szükséges függvényeket akarjuk exportálni, anélkül, hogy az exportált objektumot feltölnénk kisegítő függvényekkel.

Nézzünk egy példát. Tegyük fel, hogy rendelkezünk a következő függvénygyűjteménnyel, amit könyvtárrá szeretnénk alakítani:

function square(num) { return num ** 2; } function cube(num) { return num ** 3; } function avg(arr) { return sum(arr, 1) / arr.length; } function digitsSum(num) { return sum(String(num).split('')); } // kisegítő függvény function sum(arr) { let res = 0; for (let elem of arr) { res += +elem; } return res; }

Alakítsuk függvényeinket modullá:

;(function() { function square(num) { return num ** 2; } function cube(num) { return num ** 3; } function avg(arr) { return sum(arr, 1) / arr.length; } function digitsSum(num) { return sum(String(num).split('')); } // kisegítő függvény function sum(arr) { let res = 0; for (let elem of arr) { res += +elem; } return res; } })();

És most exportáljunk minden függvényt, kivéve a kisegítőt:

;(function() { function square(num) { return num ** 2; } function cube(num) { return num ** 3; } function avg(arr) { return sum(arr, 1) / arr.length; } function digitsSum(num) { return sum(String(num).split('')); } // kisegítő függvény function sum(arr) { let res = 0; for (let elem of arr) { res += +elem; } return res; } window.math = {square, cube, avg, digitsSum}; })();

Tegyük fel, hogy van egy index.html HTML oldalunk:

<html> <head> <script> </script> </head> </html>

Csatoljuk hozzá a könyvtárunkat:

<html> <head> <script src="math.js"></script> <script> </script> </head> </html>

Használjuk a könyvtárunk függvényeit:

<html> <head> <script src="math.js"></script> <script> alert(math.avg([1, 2, 3]) + math.square()); </script> </head> </html>

Adott a következő kód:

function avg1(arr) { return sum(arr, 1) / arr.length; } function avg2(arr) { return sum(arr, 2) / arr.length; } function avg3(arr) { return sum(arr, 3) / arr.length; } // kisegítő függvény function sum(arr, pow) { let res = 0; for (let elem of arr) { res += elem ** pow; } return res; }

Alakítsa ezt a kódot modullá. Exportálja kifelé az összes függvényt, kivéve a kisegítőt.

Tanulmányozza a underscore könyvtárat. Készítsen saját, ehhez hasonló könyvtárat, ismételve benne az eredeti könyvtár 5-10 függvényét.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás