完了時に関数をコールバックする高価な初期化プロセスを持つオブジェクトの 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 ここで何が欠けていますか?