JavaScript හි පරාමිති ලෙස ශ්රිත සම්ප්රේෂණය කිරීම
සංඛ්යා, නූල් සහ අරා මෙන්, ශ්රිත අනෙක් ශ්රිතවලට පරාමිති ලෙස සම්ප්රේෂණය කළ හැකිය.
ප්රායෝගික උදාහරණයක් මත විස්තරාත්මකව සලකා බලමු.
අප සතුව test නම් ශ්රිතයක් ඇතැයි උපකල්පනය කරන්න,
පරාමිති දෙකක් පිළිගන්නා:
test(පරාමිතිය1, පරාමිතිය2);
අපි test ශ්රිතයේ පළමු පරාමිතියට
1 ආපසු ලබා දෙන නිර්නාමික ශ්රිතයක් සම්ප්රේෂණය කරමු,
දෙවන පරාමිතියට - 2 ආපසු ලබා දෙන නිර්නාමික
ශ්රිතය:
test(
function() {return 1;},
function() {return 2;}
);
ඉහත ඇති කේතය, තවමත් ක්රියාකාරී නොවේ, මන්ද අපි ශ්රිතයම නිර්මාණය කර නැත. අපි එය කරමු:
function test(func1, func2) {
}
ශ්රිතය නිර්වචනය කිරීමේදී අපි පරාමිති දෙකක්
සඳහන් කළෙමු - func1 සහ func2. මෙම පරාමිති
ඒවාට යමක් සම්ප්රේෂණය වන බව නොදනී.
අපට, උදාහරණයක් ලෙස, සංඛ්යා සම්ප්රේෂණය කළ හැකිය:
test(1, 2); // ශ්රිතය කැඳවන්න
function test(func1, func2) {
console.log(func1); // 1 ප්රදර්ශනය කරයි
console.log(func2); // 2 ප්රදර්ශනය කරයි
}
නැතහොත් අපට ශ්රිත සම්ප්රේෂණය කළ හැකිය:
test(
function() {return 1;}, // පළමු පරාමිතිය
function() {return 2;} // දෙවන පරාමිතිය
);
function test(func1, func2) {
console.log(func1); // 'function() {return 1;}' ප්රදර්ශනය කරයි
console.log(func2); // 'function() {return 2;}' ප්රදර්ශනය කරයි
}
ඔබට පෙනෙන පරිදි, දැන් කොන්සෝලයට ශ්රිතවල මූලාශ්ර කේතය ප්රතිදානය වේ. එය ඒවායේ ප්රතිඵල ප්රතිදානය කිරීමට ඉඩ දෙමු. මේ සඳහා ශ්රිතවලට වරහන් ලියන්න:
test(
function() {return 1;},
function() {return 2;}
);
function test(func1, func2) {
console.log( func1() ); // 1 ප්රදර්ශනය කරයි
console.log( func2() ); // 2 ප්රදර්ශනය කරයි
}
කොන්සෝලයට පළමු සහ දෙවන ශ්රිතවල ප්රතිඵලවල එකතුව ප්රතිදානය කරමු:
test(
function() {return 1;},
function() {return 2;}
);
function test(func1, func2) {
console.log( func1() + func2() ); // 3 ප්රදර්ශනය කරයි
}
test ශ්රිතය සාදන්න, පරාමිති ලෙස
3 ශ්රිත පිළිගන්නා. එයට
පළමු පරාමිතිය ලෙස 1 ආපසු ලබා දෙන
ශ්රිතයක්, දෙවනුව - 2 ආපසු ලබා දෙන
ශ්රිතයක්, තෙවනුව - 3 ආපසු ලබා දෙන
ශ්රිතයක් සම්ප්රේෂණය කරන්න. කොන්සෝලයට ශ්රිතවල ප්රතිඵලවල එකතුව
ප්රතිදානය කරන්න.