每个函数都包括两个非继承而来的方法:call()和apply()
一般来说,this总是指向调用某个方法的对象,但是使用call()和apply()方法时,就会改变this的指向。
相同点:这两个方法的作用是一样的,都是在特定的作用域中调用函数,等于设置函数体内this对象的值,以扩充函数赖以运行的作用域。
不同点:接收参数的方式不同
● apply()方法 接收两个参数,一个是函数运行的作用域(this),另一个是参数数组。
语法:apply(thisObj,[数组])
● call()方法 第一个参数和apply()的方法一样,但是传递给函数的参数必须列举出来。
语法:call(thisObj,arg1.arg2.arg3.....)
使用示例1:
使用示例2:
(本文摘自https://blog.csdn.net/ganyingxie123456/article/details/70855586)