I have the following code:
var myPage = {};
myPage.component = function(callback){
var somethingHappened = true;
if (somethingHappened){
callback();
}
};
myPage.main = function(){
// Initialise.
this.init = function(){
// make an instance of my component
this.component = new myPage.component( this.callback );
// need my utility function here
this.doSomethingUseful();
};
// Callback to be executed when something happs in the component.
this.callback = function(){
this.doSomethingUseful(); // doesn't work
};
// A useful utility that needs to be accessible from both the
// init() and callback() functions
this.doSomethingUseful = function(){
// some utility stuff
};
};
new myPage.main().init();
当组件执行回调函数时,我怎样才能确保myPage.main作用域可用呢?
this
关键字 与函数的变量作用域无关。 - Bergi