var CreateDiv = function(html){
this.html = html;
this.init();
};
CreateDiv.prototype = function(){
var div = document.createElement( 'div' );
div.innerHTML = this.html;
document.body.appendChild( div );
};
//引入一个代理类
var ProxySingleTonCreateDiv = (function(){
var instance;
return function( html ){
if(!instance){
instance = new CreateDiv( html );
return instance;
}
}
})();
var a = new ProxySingleCreateDiv( 'a' );
var b = new ProxySingleCreateDiv( 'b' );
alert(a === b); //true
上記のプロキシによって実装されたシングルトンモードは、シングルトンの管理を担当するロジックをプロキシクラスProxySingleTonCreateDivに転送し、CreateDivは通常のクラスになり、ProxySingleTonCreateDivと組み合わせてシングルトンモードを実現します。