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

一直不是很明白在js中callback.call()和callback()有什么区别,举个例子:functiona(){alert('hello!');}function... 一直不是很明白在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.
那么这两种用法有什么区别呢?
展开
 我来答
cainiaokan
2015-01-13 · TA获得超过2917个赞
知道小有建树答主
回答量:651
采纳率:66%
帮助的人:611万
展开全部
callback是回调函数。函数有call和apply方法。可以在函数执行时动态的绑定上下文。

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

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

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

但是用call方法或者apply方法可以手动设置上下文。相当于可以随意调整函数中的this对象指向谁。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式