ජවාස්ක්රිප්ට් හි සංවෘත කිරීම් හරහා පුස්තකාල
ජවාස්ක්රිප්ට් හි බොහෝ විට පුස්තකාල නිර්මාණය වේ, එය වෙනත් ක්රමලේඛකයින් විසින් භාවිතා කිරීම සඳහා ශ්රිත සමූහයක් නියෝජනය කරයි.
එවැනි පුස්තකාල සාමාන්යයෙන් සංවෘත කිරීම් හරහා මොඩියුලවලට ඔතනු ලැබේ. මෙය සිදු කරනුයේ පුස්තකාලය සම්බන්ධ කිරීමෙන් පසු බාහිර ලෝකයේ ශ්රිත අවම ප්රමාණයක් පෙනෙන ආකාරයටය.
රීතියක් ලෙස සෑම පුස්තකාලයක්ම බාහිර ලෝකයේ විචල්යයක් පමණක් නිර්මාණය කිරීමට උත්සාහ දරයි - පුස්තකාලයේ ශ්රිත සහිත වස්තුව. මේ සමඟම ඇතුළත පුස්තකාල කේතය තුළ ශ්රිත කිහිපයක් ප්රධාන වන අතර අනෙක් කිහිපය - සහායක වේ. පැහැදිලිවම, බාහිර ලෝකයට අපි අපනයනය කිරීමට අවශ්ය වන්නේ අවශ්ය ශ්රිත පමණක් වන අතර, අපනයනය කරන ලද වස්තුව සහායක ශ්රිත සමඟ දුර්වල නොකරයි.
අපි උදාහරණයක් දෙස බලමු. අප සතුව ඇතැයි සිතමු පහත දැක්වෙන ශ්රිත සමූහය, අප පුස්තකාලයක් බවට පත් කිරීමට අවශ්ය:
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 ක් පුනරාවර්තනය කරමින්
ඔබේම සමාන පුස්තකාලයක් සාදන්න.