zoukankan      html  css  js  c++  java
  • 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对象指向谁。

  • 相关阅读:
    洛朗级数
    泰勒级数
    中心极限定理
    置信区间公式
    简单随机样本的性质
    极大似然估计
    矩估计法
    摆摊70
    天天去哪吃
    天天和树
  • 原文地址:https://www.cnblogs.com/uno1990/p/7193205.html
Copyright © 2011-2022 走看看