কোনও যুক্তি জাভাস্ক্রিপ্ট ফাংশনে প্রেরণ করা হয়েছে কিনা তা নির্ধারণের জন্য আমি এখন 2 টি পদ্ধতি দেখেছি। আমি ভাবছি একটি পদ্ধতি অন্যের চেয়ে ভাল কিনা বা যদি কোনও ব্যবহারের পক্ষে খারাপ হয় তবে?
function Test(argument1, argument2) {
if (Test.arguments.length == 1) argument2 = 'blah';
alert(argument2);
}
Test('test');
অথবা
function Test(argument1, argument2) {
argument2 = argument2 || 'blah';
alert(argument2);
}
Test('test');
আমি যতদূর বলতে পারি, তারা উভয়ই একই জিনিসটির ফলস্বরূপ, তবে আমি কেবল উত্পাদন প্রথম আগে ব্যবহার করেছি।
টম দ্বারা উল্লিখিত অন্য বিকল্প :
function Test(argument1, argument2) {
if(argument2 === null) {
argument2 = 'blah';
}
alert(argument2);
}
জুয়ানর মন্তব্য অনুসারে, টমের পরামর্শটি এতে পরিবর্তন করা ভাল:
function Test(argument1, argument2) {
if(argument2 === undefined) {
argument2 = 'blah';
}
alert(argument2);
}
argument2 || 'blah';
'বাজে কথা' পরিণাম ডেকে আনবে যদি argument2
হয় false
, সহজভাবে না যদি এটা অনির্দিষ্ট হয় (!)। যদি argument2
এটি বুলিয়ান হয়, এবং এর জন্য ফাংশনটি পাস false
করা হয় তবে সেই লাইনটি argument2
সঠিকভাবে সংজ্ঞায়িত করা সত্ত্বেও 'বেলা' ফিরে আসবে ।
argument2
হয় 0
, ''
কিংবা null
।