Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对象调用函数时的Javascript或语句_Javascript_Function_Parameters - Fatal编程技术网

对象调用函数时的Javascript或语句

对象调用函数时的Javascript或语句,javascript,function,parameters,Javascript,Function,Parameters,我想看看是否有一个名称(这是一个糟糕的做法?): var callback = function(error, data) { var method = error ? 'handleError' : 'handleSuccess'; object[method](error || data, action); }; 如果有错误,object.handleError将使用error和action,假设我不关心error If error之后的任何其他参数 另一方面,如果没有错误

我想看看是否有一个名称(这是一个糟糕的做法?):

var callback = function(error, data) {
    var method = error ? 'handleError' : 'handleSuccess';
    object[method](error || data, action);
};
如果有错误,object.handleError将使用error和action,假设我不关心error If error之后的任何其他参数

另一方面,如果没有错误,object.handleSuccess将使用数据和操作,这是一个错误。这是一种不错的做法,但在这种情况下,我认为写出if/else更干净,因为您无论如何都要做两次比较检查。这样,您也可以省略第二个参数

var callback = function(error, data) {
    if(error){
        object.handleError(error);
    else{
        object.handleSuccess(data,action);
    }
};

如果我没有弄错的话,他的意图是在第一种情况下只传递error对象,而忽略其余的参数。感谢@Austin,只是为了删除else语句,您认为
var callback=function(error,data){If(error){return object.handleError(error);}return object.handleSuccess会更好(数据、动作);};