最简单的方法是字面量,声明一个字面量对象
var Demo ={
name: 'lili',
method : function(){
.....
}
}
还有构造函数的方法,就是把一个属性提出来作为公共的属性
function Construct(){
// 确保只有单例
if( Construct.unique !== undefined ){
return Construct.unique;
}
// 其他代码
this.name = "NYF";
this.age="24";
Construct.unique = this;
}
var t1 = new Construct() ;
var t2 = new Construct() ;
单例模式有一种方法,是用闭包实现的,
闭包的外部变量demo来缓存生成的对象,如果已有就返回,否则才生成对象
var Demo = function(){};
Demo.getSingle = (function () {
var demo = null;
return function (name) {
if (!demo) {
demo = new Demo(name);
}
return demo;
}
})();
不用对象的属性也可以,直接用新的函数来代理
var getSingle = (function () {
.....
}();