0

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

2 回答 2

4

如果我只是将错误参数传递给函数可以吗?

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

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

于 2013-05-01T15:10:19.400 回答
2

没关系。

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

于 2013-05-01T15:09:35.317 回答