call()与apply()的作用与区别和感想

91 阅读1分钟

每个函数都包含两个非继承而来的方法:apply()和call()。;

call与apply都属于Function.prototype的一个方法,所以每个function实例都有call、apply属性; **

区别

call()的第二个参数,传入的可以是任意参数 apply()的第二个参数,传入的必须是数组

作用

**

call()方法和apply()方法的作用相同:改变this指向。 区别

他们的区别在于接收参数的方式不同:

call():第一个参数是this值没有变化,变化的是其余参数都直接传递给函数。在使用call()方法时,传递给函数的参数必须逐个列举出来。

apply():传递给函数的是参数数组