如何移出匿名函数

时间:2010-06-11 17:49:28

标签: jquery

我有一个带有错误回调的$ .ajax调用:

error: function(result){
$('#msg').text(result.statusText).addClass('err');
}

我想将其更改为更通用的:

error: myError(result)

然后一个接一个:

function myError(theError){
$('#msg').text(theError.statusText).addClass('err');
} 

但是萤火虫告诉我“结果”没有定义。

问:我这样称呼它吗?

error: function(result){
myError(result);
}

1 个答案:

答案 0 :(得分:4)

您只需要函数名称,而不是任何括号或参数,如下所示:

error: myError

它将使用与匿名函数相同的参数调用该函数引用,现在它正在尝试实际执行该函数(使用result作为参数...它找不到的变量并将结果指定为error处理程序,您希望函数本身实际上将作为错误处理程序运行。