zoukankan      html  css  js  c++  java
  • call、apply、bind的用法

    let animal1 = {
      type: "鼠",
      eat(food) {
        console.log(`${this.type}吃${food}`);
      },
    };
    let animal2 = {
      type: "猫",
    };
    
    animal1.eat("玉米"); //鼠吃玉米
    
    animal1.eat.call(animal2, "鼠"); //猫吃鼠 
    animal1.eat.apply(animal2, ["鼠"]); //猫吃鼠
    animal1.eat.bind(animal2, "鼠")(); //猫吃鼠
    

    结论:call,apply,bind的第一个参数都是this,第二个参数都是其他参数,不同的是:

    • call中的参数可以有很多,用逗号分隔开。
    • apply中,第二个参数必须是数组,来存放其他参数。
    • bind中,fn.bind(x,y,z,...)会返回一个函数,fn.bind(x,y,z,...)()才会执行fn
  • 相关阅读:
    第一次作业
    第一次作业
    第一次作业
    第一次作业
    随笔初谈
    第一次作业
    第一次作业
    第一次班级作业
    C语言感想---第一次作业
    C语言入门
  • 原文地址:https://www.cnblogs.com/silent-cat/p/14170138.html
Copyright © 2011-2022 走看看