面试题
call,apply,bind的区别?

call,apply,bind的区别?

都用于改变函数内this的指向,它们的区别为:

  • call方法第一个参数作为函数内this的指向对象,第二个参数往后都作为函数参数传递给函数。
  • apply相对call而言仅参数上有不同,第二个参数为一个列表,这个列表中的元素作为函数参数传递给函数。
  • bind相对call而言,仅绑定新对象并返回该函数,而不立即执行。