Теперь я увидел 2 метода для определения того, был ли аргумент передан функции JavaScript. Мне интересно, если один метод лучше, чем другой, или если он просто плохо используется?
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');
Насколько я могу судить, они оба приводят к тому же, но я использовал только первый в своей работе.
Другой вариант, упомянутый Tom:
function Test(argument1, argument2) {
if(argument2 === null) {
argument2 = 'blah';
}
alert(argument2);
}
Согласно комментарию Хуана, было бы лучше изменить предложение Tom:
function Test(argument1, argument2) {
if(argument2 === undefined) {
argument2 = 'blah';
}
alert(argument2);
}