考虑一下:
window.onload = function () {
myObj.init();
};
var myObj = {
init: function () {
console.log("init: Let's call the callMe method...");
//callMe is not defined...
callMe();
//Works fine!
this.callMe();
},
callMe: function () {
console.log('callMe');
}
};
Run Code Online (Sandbox Code Playgroud)
由于init函数以这种方式调用(myObj.init),我希望this在init函数中成为myObj.如果是这种情况,为什么callMe功能失败?如何在callMe不使用init主体中的this上下文的情况下调用该函数?(实际上,this通过函数反复调用对象方法太烦人了.那么拥有单个对象有什么意义呢?)
我想知道如何解决这个问题,以便使用上面代码中的第一个调用来调用callMe方法?