我现在已经看到了两种确定参数是否已传递给JavaScript函数的方法.我想知道一种方法是否优于另一种方法,或者一种方法是否使用不好?
function Test(argument1, argument2) {
if (Test.arguments.length == 1) argument2 = 'blah';
alert(argument2);
}
Test('test');
Run Code Online (Sandbox Code Playgroud)
要么
function Test(argument1, argument2) {
argument2 = argument2 || 'blah';
alert(argument2);
}
Test('test');
Run Code Online (Sandbox Code Playgroud)
据我所知,它们都产生了相同的结果,但我在生产之前只使用过第一个.
汤姆提到的另一个选择:
function Test(argument1, argument2) {
if(argument2 === null) {
argument2 = 'blah';
}
alert(argument2);
}
Run Code Online (Sandbox Code Playgroud)
根据胡安的评论,将汤姆的建议改为:
function Test(argument1, argument2) {
if(argument2 === undefined) {
argument2 = 'blah';
}
alert(argument2);
}
Run Code Online (Sandbox Code Playgroud)