JavaScript Function
Functions কি ?
ফাংশন হলো কোনো একটি নির্দিষ্ট কাজ সম্পাদনের জন্য ডিজাইন করা একটি কোড ব্লক। আরো সহজভাবে বললে, ফাংশন হচ্ছে এমন একটি কোড ব্লক, যার মধ্যে কোনো একটি সমস্যা সমাধানের উপায় সাজানো থাকে এবং যার একটি নাম থাকে। যেমন:
console.log("This is my Function");
}
myFunction();
JavaScript Function Syntax
একটি জাভাস্ক্রিপ্ট ফাংশন 'function' নামক keyword দিয়ে ডিফাইন করতে হয়। তারপর ফাংশনের একটি নাম দিতে হয়। এরপর parentheses() দিতে হয় এবং তারপর curly brackets{} দিয়ে ফাংশনের সমস্ত কোড এই { } এর মধ্যে লিখতে হয়।যেমন:
//code to be executed
}
name();
Function Invocation
ফাংশনের মধ্যে যে কোডগুলো লিখা হয় বা যে instructions গুলো দেয়া হয়, তা কেবল তখনই কাজ করবে যখন সেটাকে কল করা হবে। আর এই পদ্ধতিকে Function Call করা বা Function Invocation বলে।
Function কাজ করার অর্থাৎ execute হওয়ার শর্তগুলো:
- কোনো একটি ইভেন্ট (event) সংগঠিত হলে।
- কোডের মাধ্যমে invoked বা called করা হলে।
- কিছু কিছু সময় ফাংশন নিজে নিজেই কল হতে পারে, যাকে selfinvoked বলে।
Function Arguments
কোনো একটি ফাংশন কল করার সময় ফাংশনের নামের পর parentheses () -এর মধ্যে function এর জন্য value পাস করা যায়, যাকে Argument বলে। যেমন:
console.log( a+b);
}
myFunction(10, 20);
উপরের উদাহরণটিতে myFunction() নামের একটি ফাংশনকে ডিফাইন করা হয়েছে এবং ফাংশনটিকে কল করার সময় এর মধ্যে argument হিসেবে (10, 20) কে পাস করা হয়েছে।
Function Parameter
আমরা জানি যে, ফাংশন কল করার সময় এর সাথে argument পাস করা যায়। শুধু argument পাস করলে তো আর হবে না,একে তো ফাংশনের মধ্যে রিসিভও করতে হবে,তাইনা? না হলে তো কাজ করবে না। সুতরাং argument গুলোকে ফাংশনের মধ্যে রিসিভ করার জন্য function myFunction () বা ফাংশনের এর নামের পর যে parentheses () আছে, তার মধ্যে parameter সেট করে দিতে হবে। ফাংশন কল করার সময় যত সংখ্যক arguments পাস করা হয়,ঠিক একই সংখ্যক parameters দিয়ে সেই arguments গুলোকে রিসিভ করতে হবে। যেমন:
console.log( a+b);
}
myFunction(10, 20);
উপরের উদাহরণটিতে myFunction() নামের একটি ফাংশনকে ডিফাইন করা হয়েছে এবং ফাংশনটিকে কল করার সময় এর মধ্যে argument হিসেবে (10, 20) কে পাস করা হয়েছে। আর সেই arguments গুলোকে (a, b) parameter এর মাধ্যমে receive করা হয়েছে।
Function Return
Return -শব্দ শুনেই আমরা কিছুটা ধারণা করতে পারছি এর কাজটা কি হবে, তাইনা? জাভাস্ক্রিপ্টের অনেকগুলো keywords এর মধ্যে return হচ্ছে আরো একটি keyword। এই keyword -এর কাজ হচ্ছে ভ্যালু return করা। অর্থাৎ একটি ফাংশনের মধ্যে যে কোডগুলো থাকবে সেগুলো execute বা compute হওয়ার পর যে ফলাফল পাওয়া যাবে সেইটা সে return করে দিবে। যেমন:
return a*b;
}
let x = myFunction( 5, 7 );
Result: 35
ফাংশনটি execute হওয়ার পর রেজাল্ট ভ্যালু আকারে return করবে myFunction() এর মধ্যে এবং সেটা x এর ভ্যালু আকারে assign হয়ে যাবে x ভ্যারিয়েবলের মধ্যে। এইখানে মনে রাখার বিষয় হচ্ছে, return স্টেটমেন্টের পর আর কোনো কোড রিড হয় না। অর্থাৎ কোড লাইন বাই লাইন execute হতে হতে যখনই return স্টেটমেন্ট পাবে ঠিক তখনই কোড execute বন্ধ করে দিয়ে রেজাল্ট রিটার্ন করে দিবে।
Function কেন ব্যবহার করবো?
ফাংশন ব্যবহার করার কারণ হচ্ছে, একটি ফাংশন একবার লিখে তা কোডের বিভিন্ন জায়গায় একাধিক বার ব্যবহার করা যায়। আবার একই ফাংশনকে ভিন্ন ভিন্ন arguments দিয়ে ভিন্ন ভিন্ন ক্ষেত্রে ব্যবহার করা যায়। যেমন:
return a*b;
}
let x =myFunction(5,7);
console.log(x);
Result: 35
console.log( a+b );
}
myFunction( 15,17 );
Result: 32