我正在尝试为具有昂贵初始化过程的对象编写 OO javascript,该过程将在完成时回调函数。
问题是调用者需要在回调例程中使用同一个对象的函数,而该对象还不存在:
// ctor for foo object
function foo(callback) {
// do slow initialization here..
// callback when done
callback();
};
foo.prototype = function() {
return {
// doStuff method
doStuff: function() {
alert('stuff done');
}
};
}();
// instantiate the foo object, passing in the callback
var f = new foo(function() {
//Uncaught TypeError: Cannot call method 'doStuff' of undefined
f.doStuff();
});
jsFiddle 我在这里错过了什么?