JS设计模式——单例模式

  • 时间:2018-06-06 01:58 作者:WeB工程狮 来源:WeB工程狮 阅读:103
  • 扫一扫,手机访问
摘要:命名空间单例模式是JavaScript中最常见的一种模式,通过这种模式能为我们提供一个命名空间,例如jQuery库的命名空间为jQuery或者$。命名空间的用是为了让代码更加整洁,在多人协作开发的情况下,不同的人定义的变量很有可可以重复,此时就需要用命名空间来束缚每个人定义的变量,使相同名称的变量放

JS设计模式——单例模式

命名空间

单例模式是JavaScript中最常见的一种模式,通过这种模式能为我们提供一个命名空间,例如jQuery库的命名空间为jQuery或者$。命名空间的用是为了让代码更加整洁,在多人协作开发的情况下,不同的人定义的变量很有可可以重复,此时就需要用命名空间来束缚每个人定义的变量,使相同名称的变量放在不同的命名空间中,避免相互干扰。例如:

// A程序员的命名空间var A = { get: function(id){ return document.getElementById(id); } css: function(id,key,value){ get(id).style[key] = value; }}// B程序员的命名空间var B = { get: function(className){ return document.getElementByClassName(className)[0]; } css: function(className,key,value){ get(className).style[key] = value; }}

A、B两个命名空间中都有一个get方法和一个css方法,使用于元素获取和元素样式修改,不同的是A是通过id来获取元素,而B是通过class来获取元素,通过命名空间,能使这些相同名称的方法共存,用时指定相应的命名空间就可。

板块化

JavaScript中单例模式除了定义命名空间之外,还可使用于管理代码库的各个功可以板块。例如:

google.dom.addClass // 增加元素类google.dom.append // 插入元素google.event.stopPropagation // 阻止事件冒泡google.event.preventDefault // 阻止默认行为google.string.trim // 去除字符串首尾空格google.string.encodeHTML // 将字符串进行HTML编码

以上各个板块都位于google命名空间下,每个板块都有属于自己的方法,用时只要按照需求调使用特定功可以板块下对应的方法就可。

常量

JavaScript中并没有finalstatic这类关键字使用来定义常量,但JavaScript非常灵活,通过常量只可以访问不可以修改这一特点,我们能将变量保存在函数内部,并且只提供获取变量的方法,不提供设置变量的方法,通过闭包的方式使函数执行一次并返回相应的访问方法对象,最后将这个对象放在全局空间中作为常量单例对象用。例如:

var Color = (function(){ // 私有变量 var color = { 'RED': '#ff0000', 'YELLOW': '#ffff00', 'BLUE': '#0000ff' } // 返回访问方法对象 return { // 常量获取方法 get: function(name){ return color[name] ? color[name] : null; } }})();var color = Color.get('BLUE');console.log(color); // #0000ff
  • 全部评论(0)
最新发布的资讯信息
【系统环境|服务器应用】PHP和Python实战bcrypt算法(2019-02-01 20:47)
【系统环境|服务器应用】PostgreSQL数据库安装Version10.5(2019-02-01 20:47)
【系统环境|服务器应用】Notepad++快速选中多行(2019-02-01 20:47)
【系统环境|服务器应用】Clover支持目录多标签页(2019-02-01 20:47)
【系统环境|服务器应用】计算机视觉 OpenCV Android | Mat像素操作(2019-02-01 20:46)
【系统环境|服务器应用】PHP | 运算符 知识梳理与运用实例(2019-02-01 20:46)
【系统环境|服务器应用】人工智能通识-数学-零基础矩阵运算(2019-02-01 20:46)
【系统环境|服务器应用】Android-打包AAR步骤以及最为关键的注意事项!(2019-02-01 20:46)
【系统环境|服务器应用】回转寿司你肯定吃过!——Android消息机制(构造)(2019-02-01 20:46)
【系统环境|服务器应用】Android中不规则形状View的布局实现(2019-02-01 20:46)
手机二维码手机访问领取大礼包
返回顶部