javascript设计模式-单例模式
Posted 汪培
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript设计模式-单例模式相关的知识,希望对你有一定的参考价值。
单例模式,是创建型设计模式的一种,又被称为单体模式,是只允许实例化一次的对象类。有时也用来规划一个命名空间。
1 var Util = { 2 getName: function () { 3 console.log(‘wp‘) 4 }, 5 getAge: function () { 6 console.log(25) 7 }, 8 getAll: function () { 9 this.getName(); 10 this.getAge(); 11 } 12 } 13 Wang.getAll()
除了可以用来定义命名空间外,还可以管理代码库的各个模块。
例:
1 var Util = { 2 Tool: { 3 tool1: function () { 4 ... 5 }, 6 too2: function () { 7 ... 8 } 9 }, 10 Ajax: { 11 get: function () { 12 ... 13 }, 14 post: function () { 15 ... 16 } 17 }, 18 Animate: { 19 move: function () { 20 ... 21 }, 22 rotate: function () { 23 ... 24 } 25 } 26 } 27 Util.Tool.tool1();
例外,使用单例模式,还可以设置无法修改的静态变量
var Conf = (function () { var conf = { CONF_A: 100, CONF_B: 200, CONF_C: 300 } return { get: function (name) { return conf[name] ? conf[name] : null } } })(); var conf_a = Conf.get(‘CONF_A‘); console.log(conf_a); // 100
说明:因为将静态变量定义在函数对象里,而函数内部只提供了get方法,因此只能在外部通过特权方法访问到这些静态变量,但是无法修改这些静态变量
以上是关于javascript设计模式-单例模式的主要内容,如果未能解决你的问题,请参考以下文章