首页 > 代码库 > javascript设计模式-单例模式
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设计模式-单例模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。