var singleton = (function(){
var instance;
function init(){
var privateVariable = 'Private'
var privateMethod = function(){ console.log('Am private');}
return {
publicField : 'Public',
publicMethod : function(){ console.log('Am public');},
randomVar : Math.random()
};
};
return function(){
if(!instance) { instance = init(); }
else { return instance; }
}
})();
var single1 = singleton();
var single2 = singleton();
console.log(single1.randomVar == single2.randomVar);
trueを返す、返さ:例外TypeError:single1は、 定義されていませんが、私は機能を中心に生命維持のラップを削除した場合、それは完璧に動作しますので、私はそれが理由で取得していませんか?私のシングルトンデザインパターンで何がわかりませんか?
私は申し訳ありませんが、私は生命維持を削除するとき、それはreturn文 'return関数(){ 場合(!インスタンス)がなくても働いていた、なぜ私はまだ混乱しています{インスタンス= init(); } else {instance; } } ' –