如何最好地确定参数是否未发送到 JavaScript 函数
我现在已经看到了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');
据我所知,它们都会产生相同的结果,但我之前只在生产中使用过第一个。
汤姆提到的另一种选择:
function Test(argument1, argument2) {
if(argument2 === null) {
argument2 = 'blah';
}
alert(argument2);
}
根据胡安的评论,最好将汤姆的建议改为:
function Test(argument1, argument2) {
if(argument2 === undefined) {
argument2 = 'blah';
}
alert(argument2);
}