bind方法,call方法,apply方法的区别

const zangSan = {
  name:'张三',
  money:20,
  addMoney:function(arg1,arg2){
    this.money = arg1 + arg2
  }
}
const liSi = {
    name: '李四',
    money:10
  }
  //bind方法
  console.log(zangSan)
  const result = zangSan.addMoney.bind(liSi)
  result(10,100)
  console.log(liSi)

  // call方法
  console.log(zangSan)
  zangSan.addMoney.call(liSi,10,100)
  console.log(liSi)

  // apply方法
  console.log(zangSan)
  // apply和call相比传的是数组
  zangSan.addMoney.apply(liSi,[10,100])
  console.log(liSi)

posted @ 2023-06-20 15:22  你笑的好瓜  阅读(19)  评论(0)    收藏  举报