今天在这里看到一篇关于用js写一个单例模式,拿过来看了看,而且自己也写了写,觉得这种写法很trick, 很有新意, 拿过来放到自己的blog里面, 占个位置。
- function Singleton(){
- if(!this.constructor.instance){
- this.constructor.instance = this;
- }
- return this.constructor.instance;
- }
- Singleton.prototype.value = parseInt(Math.random()*1000000);//随机产生
- Singleton.prototype.getValue = function(){
- return this.value;
- };
- Singleton.prototype.setValue = function(v){
- this.value = v;
- };
- Singleton.prototype.toString = function(){
- return "[singleton: " + this.value + "]";
- };
- var s = new Singleton();
- var s1 = new Singleton();
- alert(s);
- alert(s1);
- s.setValue(2000);
- alert(s);
- alert(s1);