[Tips]:JavaScript命名空间

简介:

项目中,我们经常这样写JS, function(){}; 但函数多了不好管理且容易冲突,我们可以使用如下的方法来定义命名空间。 

   1: Namespace = new Object();
   2:  
   3: // 全局对象仅存在register函数,参数为名称空间全路径LB.MAP
   4: Namespace.register = function(fullNameSpace) {
   5:    // 将命名空间按点分成几个部分,如LB.MAP
   6:    var nsArray = fullNameSpace.split('.');
   7:    var sEval = "";
   8:    var sNS = "";
   9:    for (var i = 0; i < nsArray.length; i++) {
  10:        if (i != 0) sNS += ".";
  11:        sNS += nsArray[i];
  12:        // 依次创建构造命名空间对象(假如不存在的话)                  
  13:        sEval += "if (typeof(" + sNS + ") == 'undefined') " + sNS + " = new Object();"
  14:    }
  15:    if (sEval != "") eval(sEval);
  16: }
  17:  
  18: // 注册命名空间LB.MAP, LB.UI
  19: Namespace.register("LB.MAP");
  20: Namespace.register("LB.UI");
  21:  
  22: //声明类GoogleMap
  23: LB.MAP.GoogleMap = function(zoom, center) {
  24:    this.zoom = zoom;
  25:    this.center = center;
  26: }
  27:  
  28: // GoogleMap类添加一个公共方法show()
  29: LB.MAP.GoogleMap.prototype.Display = function() {
  30:    alert("google map zoom is"+ this.zoom+" and center is "+this.center);
  31: }
  32:  
  33: var map = new LB.MAP.GoogleMap("4X", 20.00);
  34:  
  35: // 给对象上添加方法
  36: map.MoveLeft = function() { alert("I move left"); };
  37:  
  38: map.Display();
  39: map.MoveLeft();
本文转自敏捷的水博客园博客,原文链接http://www.cnblogs.com/cnblogsfans/archive/2009/06/17/1505227.html如需转载请自行联系原作者

王德水
相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
22天前
|
JavaScript 前端开发 开发者
JS变量命名的方法
JS变量命名的方法
25 0
|
22天前
|
JavaScript 前端开发
JavaScript变量的小驼峰命名法
JavaScript中变量的小驼峰命名法,一般指的是JavaScript的变量的名称或函数的名称采用大小写字母搭配的方式进行命名,比如:folowerName、studentAge,其中N和A是大写的。
57 2
|
缓存 前端开发 JavaScript
简单总结了10个JavaScript代码优化小tips
相同的功能采用不同的代码实现所需要的运行时间也不会相同,这里简单总结了10个JavaScript代码优化的小技巧,可以增加这么一nainai的运行速度
102 0
|
JavaScript
精通Vue.js系列 │ 命名路由
路由可以通过name属性来设置名字,这样便于在其他场合引用路由。
90 0
精通Vue.js系列 │ 命名路由
|
JavaScript
JS:RegExp正则命名分组
JS:RegExp正则命名分组
122 0
|
JavaScript
Node.js: naming-style命名风格转换
Node.js: naming-style命名风格转换
|
JavaScript
JS命名空间是啥?
JS命名空间是啥?
|
JavaScript
Node.js: naming-style命名风格转换
Node.js: naming-style命名风格转换
|
JavaScript
JS中import时什么时候允许自定义命名,什么时候不允许自定义命名
JS中import时什么时候允许自定义命名,什么时候不允许自定义命名
203 0
JS中import时什么时候允许自定义命名,什么时候不允许自定义命名
|
JavaScript 前端开发 开发者
javascript的一些命名约定
这篇小文章主要是通过一些例子来介绍一些Javascript中一些关于命名变量,函数,类或者是组件的通用约定。虽然这些规则并不是强制性的,但是呢,他们却被一些JS社区所广泛采用,所以,了解他们还是很有必要的。
4913 0