我正在用Javascript编写应用程序,虽然我对这种语言感到满意,但我还是想知道未使用的参数。
说我有如下功能:
function test(data, complete){
if (data){
return complete(null, 'yes');
}
else{
return complete('error', null);
}
}
我用回调调用该函数,但我只对检查错误感兴趣 - 如果数据存在,我可以继续我的程序。如果我只是将错误参数传递给函数吗?
test(data, function(err){
if(err){
//Uh Oh
}
else{
//Keep going
}
});
或者,如果我同时传递错误和结果(即使结果变量仍然未使用),它是否最好?
test(data, function(err, result){
if(err){
//Uh Oh
}
else{
//Keep going
}
});
答案 0 :(得分:4)
我可以将错误参数传递给函数吗?
是。没有收到显式值的参数将会收到undefined
(但仍然存在并且是本地范围的,因此仍然会在更广泛的范围内屏蔽具有相同名称的变量)。
顺便说一下,任何额外的参数仍然可以通过类似数组的arguments
object来访问。
答案 1 :(得分:2)
没关系。
函数参数仅用于创建局部变量 您可以将任意数量的参数传递给任何函数,无论其声明如何。