<script type="text/javascript">
var GLOBAL = {};
GLOBAL.namespace = function(str){
var arr = str.split("."),o = GLOBAL; //定义初始父命名空间名为 GLOBAL;
for (i=(arr[0]=="GLOBAL")?1:0; i<arr.length; i++) {
o[arr[i]] = o[arr[i]]||{}; //生成子命名空间
o = o[arr[i]]; //将子命名空间定义为父命名空间
}
}
</script>

使用方式:

 <script type="text/javascript">

          /*执行完此方法后,此时的命名空间有:GLOBAL = {},GLOBAL.Leon = {},第一次循环生成  GLOBAL.Leon.Wang = {},第二次循环生成*/
GLOBAL.namespace("Leon.Test"); GLOBAL.Leon.param1= "param1"; GLOBAL.Leon.Test.name = "hello";
GLOBAL.Leon.Test.Speak = function(){
...
}; </script>

注:

为了避免参数命名冲突,我们引入了此方法,GLOBAL定义为全局变量,每个工程师定义有自己的二级命名空间名,如,Leon,James,A,B...,在此基础上工程师可以自己添加三级名称,以此类推...如Leon定义了一个“Test”,则可调用   GlOBAL.namespace(“Leon.Test”)  去生成所需的命名空间。

JavaScript 全局变量命名空间生成函数的更多相关文章

  1. JavaScript 实现命名空间(namespace)的最佳方案——兼容主流的定义类(class)的方法,兼容所有浏览器,支持用JSDuck生成文档

    作者: zyl910 一.缘由 在很多的面向对象编程语言中,我们可以使用命名空间(namespace)来组织代码,避免全局变量污染.命名冲突.遗憾的是,JavaScript中并不提供对命名空间的原生支 ...

  2. JavaScript全局变量与局部变量

    JavaScript中存储数据值的容器称为变量.根据变量作用域可将变量分为全局变量和局部变量. 全局变量(Global Variable) 拥有全局作用域,在JavaScript代码中任何地方都有定义 ...

  3. JavaScript之命名空间模式 浅析

    来源于:http://www.cnblogs.com/syfwhu/p/4885628.html 前言 命名空间可以被认为是唯一标识符下代码的逻辑分组.为什么会出现命名空间这一概念呢?因为可用的单词数 ...

  4. JavaScript之命名空间模式

    前言 命名空间可以被认为是唯一标识符下代码的逻辑分组.为什么会出现命名空间这一概念呢?因为可用的单词数太少,并且不同的人写的程序不可能所有的变量都没有重名现象.在JavaScript中,命名空间可以帮 ...

  5. javascript 之 命名空间

    注意点: 1/IIFE是现代js框架最主要的基础设施,保证变量不被污染. 2/基本上我们把命名空间等同于框架的名字. 内容 一.简单的命名空间 <input type="button& ...

  6. 剖析javascript全局变量和局部变量

    首先要记住: javascript是弱类型语言,它只有一种变量类型(var),为变量赋值时会自动判断类型并进行转换. 全局变量和局部变量如何声明? 全局变量声明: 第一种方式(函数外) var a; ...

  7. javascript 全局变量 局部变量 var 与不加var的区别

      一.外部的为全局,内部的为局部变量.   二.加var为局部变量(在方法内),不加var为全局变量(当方法内有一次使用后) <script type="text/javascrip ...

  8. Javascript全局变量的使用方法

    1.demo例子说明 <script type="text/javascript"> var gDivId; //js全局变量 function geocoder(la ...

  9. JavaScript创建命名空间、类及类成员

    JavaScript代码: //为String对象增加方法isNullOrEmpty String.isNullOrEmpty = function (a) { if (a != null & ...

随机推荐

  1. PHP原始的数据库操作

    <?php    //这是一个工具类;作用是完成对数据库的操作;    class SqlHelper{        public $conn;        public $dbname=& ...

  2. PHP数组foreach后使用current取值的问题

    先看如下的代码 $arr=['a','b','c']; foreach ($arr as $v){ echo $v.'<br>'; } var_dump(current($arr)); 今 ...

  3. HTML布局总结

    网页的三大元素结构(内容html标签)+表现(布局CSS)+行为(js) CSS选择器1.标记选择器2.类别选择器(.red)3.ID选择器(#name)4.复合选择器(交集选择器  标记选择器+类别 ...

  4. 异步编程设计模式Demo - PrimeNumberCalculator

    using System; using System.Collections; using System.Collections.Specialized; using System.Component ...

  5. android中handler使用应该注意的问题(解决由handler引起的OOM内存泄漏)

    最近,在项目过程中频繁的使用handler处理一些ui线程上的操作,以及使用handler的postdealy.然而使用过后却不对handler进行处理,进而产生了内存溢出现象,通过google,发现 ...

  6. Core Data (二)备

    序 上次只是说了三个Core Data栈基本类.这次准备介绍一下常用的类. NSManagedObject Core Data是一次底层数据封装成面向对象的技术.最直接的表现就是在SQLite里面的一 ...

  7. httpcomponents-client-4.3.6 HttpPost的简单使用

    /** * httpcomponents-client-4.3.6 * @author y */ public class HttpUtil { public static String httpPo ...

  8. hdu 1255 覆盖的面积

    http://acm.hdu.edu.cn/showproblem.php?pid=1255 #include <cstdio> #include <cstring> #inc ...

  9. 学习Haskell的一些资料

    趣学Haskell指南: http://fleurer-lee.com/lyah/chapters.htm 对应的英文原文: http://learnyouahaskell.com/chapters ...

  10. apache 配置网站目录,虚拟目录,新端口

    1 配置网站目录,以ubuntu为例 1)打开apache的默认配置文件夹:cd /etc/apache2/sites-available 2)打开配置文件,本机为sudo vi  000-defau ...