您的位置:首页 > Web前端 > JavaScript

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

2016-03-30 22:55 302 查看

js中callback.call()和callback()的区别
在js中callback.call()和callback() 有什么区别,举个例子:
function a(){
alert('hello!');
}
function b(callback){
callback();
}
function c(callback){
callback.call();
}
function test(){
b(a);
c(a);
}
在test函数中,b和c的效果是一样的,都执行了回调函数a.这两种用法有什么区别呢?

----------------------------------------------------------------------------------------------

callback是回调函数。函数有call和apply方法。可以在函数执行时动态的绑定上下文。
因为你这里callback.call()没有传入任何参数。因此callback.call()跟callback()是等价的。没有任何不同。
函数的上下文主要影响函数中的this对象。
正常情况下this对象是根据运行上下文自动指定的。
但是用call方法或者apply方法可以手动设置上下文。相当于可以随意调整函数中的this对象指向谁。

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: