ECMAScript ফাংশন সমীক্ষা
- পূর্ববর্তী পৃষ্ঠা switch বিন্যাস
- পরবর্তী পৃষ্ঠা arguments অবজেক্ট
ফাংশন কী?
ফাংশন একটি বক্তব্য গোষ্ঠী যা কোনও সময় এবং কোনও স্থানে চালু করা যায়
ফাংশন ECMAScript-এর কেন্দ্রীয় অংশ
ফাংশন এইভাবে ঘোষিত হয়: কীভূত function, ফাংশন নাম, একটি সরঞ্জাম গোষ্ঠী, এবং ব্র্যাকেটে থাকা কার্যকর কোড
ফাংশনের মৌলিক সংরক্ষণ এইভাবে হয়:
function functionName(arg0, arg1, ... argN) { স্টেটমেন্টস }
উদাহরণ:
function sayHi(sName, sMessage) { alert("Hello " + sName + sMessage); }
ফাংশন কভাবে কল করা যায়?
ফাংশনটি তার নাম এবং সরঞ্জামের ব্যবহার দিয়ে কল করা যায়, যদি একাধিক সরঞ্জাম থাকে
যদি আপনি উপরের উদাহরণটির function-টি কল করতে চান, তবে নিচের কোডটি ব্যবহার করতে পারেন:
sayHi("David", " Nice to meet you!")
উপরের function sayHi() কল করলে একটি সতর্কতা উইন্ডো তৈরি হবে। আপনি করতে পারেনএই উদাহরণটি নিজেই চেষ্টা করুন.
ফাংশন কিভাবে মান রিটার্ন করে?
ফাংশন sayHi() কোন মান না রিটার্ন করে, কিন্তু তা নির্দিষ্টভাবে ঘোষণা করা না পড়ে (যেমন Java-তে void-এর মতো)。
ফাংশনটি কোন মান থাকলেও, তা স্পষ্টভাবে ঘোষণা করা না পড়ে। ফাংশনটির শুরুতে return অপারেটর ব্যবহার করে রিটার্ন করতে হবে。
function sum(iNum1, iNum2) { return iNum1 + iNum2; }
নীচের কোডটি, sum ফাংশন রিটার্ন করা মানকে একটি ভ্যালুয়েবলে আকার দেয়:
var iResult = sum(1,1); alert(iResult); // "2" দেখাবে
একটি গুরুত্বপূর্ণ ধারণা, যেমন Java-তে, ফাংশনটি return বিন্যাস বাস্তবায়িত হলে, তা তারপর থেকে কোড বন্ধ হয়। তাই return বিন্যাসের পরের কোডটি কোনও সময় বাস্তবায়িত করা হবে না。
উদাহরণ, নীচের কোডে, alert বক্স দেখানো হবে না:
function sum(iNum1, iNum2) { return iNum1 + iNum2; alert(iNum1 + iNum2); }
একটি ফাংশনে একাধিক return বিন্যাস থাকতে পারে, যেমন নীচে দেখা যাচ্ছে:
function diff(iNum1, iNum2) { if (iNum1 > iNum2) { return iNum1 - iNum2; } return iNum2 - iNum1; } }
উপরোক্ত ফাংশনটি দুই সংখ্যার মধ্যের পার্থক্য ফলাফল প্রদান করে। এটা করতে, বড় সংখ্যা থেকে ছোট সংখ্যা হিসাব করতে হয়, তাই if বিন্যাস ব্যবহার করে return বিন্যাস কোনটি বাস্তবায়িত করা হয়。
যদি ফাংশনটি কোন রিটার্ন মান না দেয়, তবে return অপারেটর না থাকা return বিন্যাস ব্যবহার করে কোন সময় ফাংশন বের হতে পারে。
উদাহরণ:
function sayHi(sMessage) { if (sMessage == "bye") { return; } alert(sMessage); }
এই কোডে, sMessage "bye"-র সমান হলে, তৎক্ষণাৎ নোটিফিকেশন বক্স দেখানো হবে না。
মন্তব্য:যদি ফাংশনটি স্পষ্ট রিটার্ন মান না দেয়, বা কোন প্রামাণ্য প্যারামিটার না থাকা return বিন্যাস ব্যবহার করা হয়, তবে তা সত্যিকারের রিটার্ন মান অজানা (undefined) হয়。
- পূর্ববর্তী পৃষ্ঠা switch বিন্যাস
- পরবর্তী পৃষ্ঠা arguments অবজেক্ট