call()方法:
语法:call(thisObj,arg1,arq2);(传递给函数的参数必须逐个列举出来)
定义:调用一个对象的一个方法,以另一个对象替换当前对象。
说明:call方法可以用来代替另一个对象调用一个方法。call方法可将一个函数的对象上下文从初始的上下文改变为由thisObj指定的新对象。
如果没有提供thisObj参数,那么Global对象被用作thisObj。
apply方法
语法:apply(thisObj,arguments);
定义:应用某一对象的一个方法,用另一个对象替换当前对象。
说明:如果arguments不是一个有效的数组或者不是arguments对象,那么将导致一个TypeError。
如果没有提供argument和thisObj任何一个参数,那么Global对象将被用作thisObj,并且无法被传递任何参数。
区别:它们的区别仅仅在于接受的参数的方式不同。call方法中,传递给函数的参数必须逐个列举出来。
它们真正强大的地方是能够扩充函数赖以运行的作用域。