⊗jsPmMCLb 505 of 505 menu

JavaScript-ի փակումներով գրադարաններ

Հաճախ JavaScript-ում ստեղծվում են գրադարաններ, որոնք ներկայացնում են ֆունկցիաների հավաքածուներ այլ ծրագրավորողների կողմից օգտագործման համար:

Նման գրադարանները սովորաբար փաթաթվում են մոդուլների մեջ փակումների միջոցով: Դա արվում է այն նպատակով, որ գրադարանը միացնելիս արտաքին աշխարհում հնարավորինս քիչ ֆունկցիաներ հայտնվեն:

Որպես կանոն, յուրաքանչյուր գրադարան ձգտում է ստեղծել արտաքին աշխարհում միայն մեկ փոփոխական - գրադարանի ֆունկցիաներով օբյեկտ: Մինչդեռ ներսում գրադարանի կոդում ֆունկցիաներից մի մասը հանդիսանում են հիմնական, իսկ մյուս մասը` օժանդակ: Ակնհայտ է, որ մենք ցանկանում ենք արտաքին աշխարհ էքսպորտել միայն անհրաժեշտ ֆունկցիաները, չխցանելով էքսպորտվող օբյեկտը օժանդակ ֆունկցիաներով:

Դիտարկենք օրինակով: Ենթադրենք, մենք ունենք ֆունկցիաների հետևյալ հավաքածուն, որը մենք ցանկանում ենք վերածել գրադարանի.

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('')); } // օժանդակ ֆունկցիա function sum(arr) { let res = 0; for (let elem of arr) { res += +elem; } return res; }

Եկեք ձևավորենք մեր ֆունկցիաները որպես մոդուլ.

;(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('')); } // օժանդակ ֆունկցիա function sum(arr) { let res = 0; for (let elem of arr) { res += +elem; } return res; } })();

Այժմ էքսպորտենք բոլոր ֆունկցիաները, բացառությամբ օժանդակի.

;(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('')); } // օժանդակ ֆունկցիա function sum(arr) { let res = 0; for (let elem of arr) { res += +elem; } return res; } window.math = {square, cube, avg, digitsSum}; })();

Ենթադրենք ունենք HTML էջ index.html.

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

Միացնենք դրան մեր գրադարանը.

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

Օգտագործենք մեր գրադարանի ֆունկցիաները.

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

Տրված է հետևյալ կոդը.

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; } // օժանդակ ֆունկցիա function sum(arr, pow) { let res = 0; for (let elem of arr) { res += elem ** pow; } return res; }

Ձևավորեք այս կոդը որպես մոդուլ: Էքսպորտեք դուրս բոլոր ֆունկցիաները, բացառությամբ օժանդակի:

Ուսումնասիրեք underscore գրադարանը: Ստեղծեք ձեր սեփական նմանատիպ գրադարանը, կրկնելով դրանում օրիգինալ գրադարանի 5-10 ֆունկցիաները:

Հայերեն
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել