码迷,mamicode.com
首页 > 移动开发 > 详细

call、apply、bind的用法

时间:2020-12-28 11:10:21      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:anim   其他   bin   ons   nim   OLE   函数   pre   apply   

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

call、apply、bind的用法

标签:anim   其他   bin   ons   nim   OLE   函数   pre   apply   

原文地址:https://www.cnblogs.com/silent-cat/p/14170138.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!