call,apply,bind 不同及用法

164 阅读1分钟
  • call() 语法:函数名称.call(object,参数1,参数2,...)
  • apply() 语法:函数名称.apply(object,[参数1,参数2,...])
  • bind() 语法:函数名称.bind(object,参数1,参数2,...)

作用:前两个都是为了改变this指向,bind是改变this指向并且复制一个这个方法返回 相同之处: 这三个函数的第一个参数都是 this 的指向对象,即把原本this替换掉后的对象

不同之处:

  1. call和apply的区别在于,前者传入的参数为单个参数形式,后者为数组形式

  2. bind和call类似, call调用后立即执行,但bind 返回的是一个新的函数,你必须调用它才会被执行