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

  • 相关阅读:
    UVA1585
    暑期第二场-1
    UVA11582
    UVA10006
    HDU1005
    HDU2035
    POJ:2492-Bug's Life(二分图的判定)
    Codeforces:68A-Irrational problem(暴力大法好)
    Codeforces Round #456 (Div. 2) B. New Year's Eve
    Codeforces Round #456 (Div. 2) A. Tricky Alchemy
  • 原文地址:https://www.cnblogs.com/ios9/p/5339333.html
Copyright © 2011-2022 走看看