জাভাস্ক্রিপ্টে প্যারামিটার হিসেবে ফাংশন পাস করা
সংখ্যা, স্ট্রিং এবং অ্যারের মতো ফাংশনগুলিও অন্যান্য ফাংশনে প্যারামিটার হিসেবে পাস করা যেতে পারে।
আসুন একটি ব্যবহারিক উদাহরণ দিয়ে আরও বিশদে দেখি।
ধরুন আমাদের কাছে একটি ফাংশন 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 ফেরত দেয়। কনসোলে ফাংশনগুলির ফলাফলের
যোগফল দেখান।