在javascript中只使用函数的一个参数

时间:2013-05-01 15:07:50

标签: javascript function parameters

我正在用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
    }
});

2 个答案:

答案 0 :(得分:4)

  

我可以将错误参数传递给函数吗?

是。没有收到显式值的参数将会收到undefined(但仍然存在并且是本地范围的,因此仍然会在更广泛的范围内屏蔽具有相同名称的变量)。

顺便说一下,任何额外的参数仍然可以通过类似数组的arguments object来访问。

答案 1 :(得分:2)

没关系。

函数参数仅用于创建局部变量 您可以将任意数量的参数传递给任何函数,无论其声明如何。