首页 > 栏目列表 > 正文

js回调函数

js回调函数
阅读数22564
js回调函数
兔牙萝莉
兔牙萝莉
个性签名:千磨万击,志在坚韧。

js中callback.call()和callback()的区别

callback是回调函数。函数有call和apply方法。可以在函数执行时动态的绑定上下文。

因为你这里callback.call()没有传入任何参数。因此callback.call()跟callback()是等价的。没有任何不同。

函数的上下文主要影响函数中的this对象。

正常情况下this对象是根据运行上下文自动指定的。

但是用call方法或者apply方法可以手动设置上下文。相当于可以随意调整函数中的this对象指向谁。


兔牙萝莉
兔牙萝莉
个性签名:千磨万击,志在坚韧。

JavaScript里面的回调函数(callback)怎么传参数?

在Javascript 中,特别是在AJAX中,回调函数常常是一个函数名,没有地方放入参数,如下面的AJAX代码,在成功后将调用回调函数callback,但callback是有参数的,如何把参数传进来呢?


var callback = function(p1){
//do something
}

var ajaxSetting = {
url: url,
timeout:me.timeout,
type: method,
contentType: "application/json",
dataType: "json",
cache: false,
async: async,
data: p_data,
success: callback
},
error: function(p_request, p_status, p_err) {

}
};

解决的办法是利用匿名函数:

success: function(result){
callback(p1_actual);

}

其中pa_actual是已知的参数,可以是function类型。