⊗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}; })();

Бизде index.html 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हिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어LietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Биз сайттин иштөөсү, аналитика жана персонализация үчүн cookie файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу