JavaScript හි සංවෘතතා සහ ක්ෂණික ශ්රිත ක්රියාකරවීම
ඔබ දැනටමත් දන්නා පරිදි, නිර්නාමික ශ්රිතයක් ක්ෂණිකව ක්රියාකරවීමෙන් පසු එහි ප්රතිඵලය යම් විචල්යයකට නිර්ණය කළ හැකිය:
let result = function() {
return '!';
}();
console.log(result); // '!' ප්රදර්ශනය කරයි
බොහෝ විට, ක්ෂණිකව ක්රියාත්මක වන ශ්රිතය වරහන් තුළ ලියනු ලැබේ, එය අවශ්ය නොමැතිවත්. මෙය කරනු ලබන්නේ ශ්රිතය ක්ෂණිකව ක්රියා කරන බව හැඟෙන පරිදි වේගයෙන් දැකගත හැකි වනු වස්ය:
let result = (function() {
return '!';
})();
console.log(result); // '!' ප්රදර්ශනය කරයි
දැන්, ක්ෂණිකව ක්රියා කරවන ලද ශ්රිතයේ ප්රතිඵලය නිර්නාමික ශ්රිතයක් වීමට ඉඩ දෙන්න:
let func = (function() {
return function() {
console.log('!');
}
})();
func(); // '!' ප්රදර්ශනය කරයි
ආපසු ලබා දෙන ශ්රිතය තුළ
num විචල්යය සංවෘතතාවයක් ලෙස ගබඩා කරන ලෙස කරමු:
let func = (function() {
let num = 1;
return function() {
console.log(num);
}
})();
තව num++ එකතු කළහොත්, ශ්රිතය
func සූදානම් ගණකයක් බවට පත්වේ:
let func = (function() {
let num = 1;
return function() {
console.log(num);
num++;
}
})();
func(); //1 ප්රදර්ශනය කරයි
func(); //2 ප්රදර්ශනය කරයි
func(); //3 ප්රදර්ශනය කරයි
func(); //4 ප්රදර්ශනය කරයි
func(); //5 ප්රදර්ශනය කරයි
මගේ කේතය දෙස නොබලා, ඔබම එවැනිම ගණකයක් ක්රියාත්මක කරන්න.
ගණකයේ ක්රියාකාරිත්වය වෙනස් කරන්න එවිට
එය 5 දක්වා ගණන් කර, ඉන් පසු ගණන් කිරීම
යළි ආරම්භ වේ.