JavaScript果然是很活灵,竟然可以通过闭包来实现单例模式,美中不足的是闭包会长占内存;
示例代码:
var Model = function(name){
this.name = name;
}
var getSingleModel = function(){
var obj = null;
return function(name){
return obj || (obj = new Model(name));
}
}();
alert(new Model('aaa') === new Model('aaa'));
alert(getSingleModel('aaa')['name'] === getSingleModel('aaa')['name']);