zoukankan      html  css  js  c++  java
  • apply call bind

    apply、call 区别

    都是改变this 指向的;

    对于 apply、call 二者而言,作用完全一样,只是接受参数的方式不太一样。例如,有一个函数定义如下:

    func.call(this, arg1, arg2);
    func.apply(this, [arg1, arg2])

    bind() 方法与 apply 和 call 很相似,也是可以改变函数体内 this 的指向。

    MDN的解释是:bind()方法会创建一个新函数,称为绑定函数,当调用这个绑定函数时,绑定函数会以创建它时传入 bind()方法的第一个参数作为 this,传入 bind() 方法的第二个以及以后的参数加上绑定函数运行时本身的参数按照顺序作为原函数的参数来调用原函数。

    this.num = 9; 
    var mymodule = {
      num: 81,
      getNum: function() { 
        console.log(this.num);
      }
    };
    
    mymodule.getNum(); // 81
    
    var getNum = mymodule.getNum;
    getNum(); // 9, 因为在这个例子中,"this"指向全局对象
    
    var boundGetNum = getNum.bind(mymodule);
    boundGetNum(); // 81
     
  • 相关阅读:
    汇编指令
    汇编指令
    汇编指令
    字在寄存器中的存储
    汇编指令
    字在寄存器中的存储
    汇编指令
    8086CPU的8位寄存器数据存储情况
    [转载]使用嵌入式 Tomcat 简化程序调试
    [转载]Java语法总结
  • 原文地址:https://www.cnblogs.com/lisiyang/p/10763107.html
Copyright © 2011-2022 走看看