call和apply
call和apply:调用一个对象的一个方法,以另一个对象替换当前对象
注意到,call()与apply()的区别:功能一样。第二个参数形式不一样。call传递多个参数,是任意形式。apply第二个参数必须是数组形式。
用代码来理解它们区别最好:
a.call(b,2,3); ==> a.apply(b,[2,3]);//数组形式传入
不过,这里想说的是:call和apply传入this(对象自身)作为参数,则会马上执行。
var view = { init : function() { //正常调用方式 this.test(); //通过call或apply方式,如果传入this(对象自身)作为参数,则该函数就会马上执行,效果和this.test()一样。 this.test.call(this); }, test : function() { } };
可参考:
http://www.cnblogs.com/wangtao_20/archive/2011/01/01/1923918.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步