call()和apply()的区别

来源:互联网 发布:2030男女比例真实数据 编辑:程序博客网 时间:2024/05/22 10:45

前几天去面试,问到call()和apply()的区别,不清楚,回来搜索了一下答案。

call方法:

语法:call(thisObj,object)

定义:调用一个对象的一个方法,以另一个对象替换当前对象

说明:call方法可以用来代替另一个对象调用一个方法。Call方法可将一个函数的对象上下文从初始的上下文改变为由thisObjext指定的新对象。如果没有提供thisObj参数,那么Global对象被用作thisObj。

apply方法:

语法:apply(thisObj,[argArray])

定义:应用到某一对象的一个方法,用另一个对象替换当前对象

说明:如果arrArray不是一个有效的数组或者不是arguments对象,那么将导致一个TyperError。如果没有提供arrArray和thisObj任何一个参数,那么Global对象将被用作thisObj,并且无法被传递任何参数。


原创粉丝点击