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

    相同点:1.都是用来改变函数的this对象指向的

    2.调用时第一个参数都是需要指向的新对象

    3.都可以利用后续参数传参

    不同点:call、apply都是对函数的直接调用,而bind返回的是一个函数,需要进行再次调用才可以使用;

    传递参数方式不同:call、bind 传递的是逗号分割的参数字符串,而apply第二个参数是一个数组;

    具体使用如下:

    let person={
        name:'zhangsan',
        age:12,
        say:function(school){
            console.log(this.name,this.age,school);
        }
    }
    
    let newobj={
       name:'lisi',
       age:123
    }
    
    //运用call、apply、bind 改变person中this指向
    person.say.call(newobj,'清华大学');
    
    
    person.say.apply(newobj,['北京大学']);
    
    
    person.say.bind(newobj,'五道口学院')();
  • 相关阅读:
    结构化建模分析
    qemusystemriscv64 machine \?
    git clone commit
    riscv gdb machine mode
    error: src refspec main does not match any.
    riscv ecall
    git windows
    fixedlink
    iperf交叉编译
    每日学习
  • 原文地址:https://www.cnblogs.com/mili3/p/14486140.html
Copyright © 2011-2022 走看看