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

Posted ✧*꧁一品堂.技术学习笔记꧂*✧.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中callback.call()和callback()的区别相关的知识,希望对你有一定的参考价值。

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对象指向谁。

 

以上是关于js中callback.call()和callback()的区别的主要内容,如果未能解决你的问题,请参考以下文章

Node.js 和数据库变量中的回调 [重复]

java回调机制——基本理解

深入 javascript 设计模式(迭代器模式)

向Vue实例混入plusready

es6 语法 (Promise)

React工作记录三十一dva.js初识