javascript-单例模式

Posted 惊涛随笔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript-单例模式相关的知识,希望对你有一定的参考价值。


 单例模式笔记
   也称为单体模式,只允许实例化一次的对象类
   用法:
      1.命名空间:用一个对象来规划一个命名空间,井井有条的管理对象上的属性和方法
      2.静态变量管理:让创建的函数执行一次,创建的对象内保存静态变量通过取值器访问,将这个对象作为一个单例放在全局空间里作为静态变量单例对象供他人使用
      3.惰性单例:有时需要单例对象需要延迟创建,这种延迟创建的形式称之为“惰性创建”
代码:

 1             //命名空间
 2             var Jt = {
 3                 //管理静态变量
 4                 Conf : (function(){
 5                     var conf = {
 6                         MAX_NUM : 100,
 7                         MIN_NUM : 1,
 8                         COUNT : 1000
 9                     }
10                     return {
11                         get : function(name){
12                            return conf[name] ? conf[name] : null;
13                         }
14                     }
15                 })(),
16                 //惰性载入单例
17                 LazySingle : (function(){
18                     var _instance = null;
19                     function Single(){
20                        return {
21                            publicMethod:function(){},
22                            publicProperty:\'1.0\'
23                         }
24                     }
25                     return function(){
26                         if(!_instance){
27                            _instance=Single();
28                         }
29                     return _instance;
30                     }
31                 })()
32             }

静态变量测试

1             var maxNum=Jt.Conf.get(\'MAX_NUM\');
2             console.log(maxNum);

惰性单例测试

1             console.log(Jt.LazySingle().publicProperty);

控制台显示结果

 

以上是关于javascript-单例模式的主要内容,如果未能解决你的问题,请参考以下文章

[转] JavaScript 单例模式

设计模式之单例模式

从ES6重新认识JavaScript设计模式: 单例模式

JavaScript单例模式

[JavaScript设计模式]惰性单例模式

JavaScript 设计模式