首页 技术 正文
技术 2022年11月20日
0 收藏 628 点赞 4,315 浏览 1443 个字

第一种:
// 声明一个全局对象Namespace,用来注册命名空间
js高级编程中命名空间的两种用法Namespace = new Object();
js高级编程中命名空间的两种用法
js高级编程中命名空间的两种用法// 全局对象仅仅存在register函数,参数为名称空间全路径,如”Grandsoft.GEA”
js高级编程中命名空间的两种用法Namespace.register = function(fullNS)
js高级编程中命名空间的两种用法{
  // 将命名空间切成N部分, 比如Grandsoft、GEA等
   var nsArray = fullNS.split(‘.’);
var sEval = “”;
 var sNS = “”;
 for (var i = 0; i < nsArray.length; i++)
{
if (i != 0) sNS += “.”;
sNS += nsArray[i];
// 依次创建构造命名空间对象(假如不存在的话)的语句
 // 比如先创建Grandsoft,然后创建Grandsoft.GEA,依次下去js高级编程中命名空间的两种用法
 sEval += “if (typeof(” + sNS + “) == ‘undefined’) ” + sNS + ” = new Object();”
}
if (sEval != “”) eval(sEval);
}
// 注册命名空间Grandsoft.GEA, Grandsoft.GCM
js高级编程中命名空间的两种用法Namespace.register(“Grandsoft.GEA”);
js高级编程中命名空间的两种用法Namespace.register(“Grandsoft.GCM”);
js高级编程中命名空间的两种用法
js高级编程中命名空间的两种用法// 在Grandsoft.GEA命名空间里面声明类Person
js高级编程中命名空间的两种用法Grandsoft.GEA.Person = function(name, age)
js高级编程中命名空间的两种用法js高级编程中命名空间的两种用法{
  this.name = name;
   this.age = age;
}
js高级编程中命名空间的两种用法
js高级编程中命名空间的两种用法// 给类Person添加一个公共方法show()
js高级编程中命名空间的两种用法Grandsoft.GEA.Person.prototype.show = function()
js高级编程中命名空间的两种用法js高级编程中命名空间的两种用法{
   alert(this.name + ” is ” + this.age + ” years old!”);
}
js高级编程中命名空间的两种用法
js高级编程中命名空间的两种用法// 演示如何使用类Person
js高级编程中命名空间的两种用法var p = new Grandsoft.GEA.Person(“yanglf”, 25);
js高级编程中命名空间的两种用法p.show();js高级编程中命名空间的两种用法
第二种:
eye = {
    namespace: function() {
        var a = arguments, o = null, i, j, d, rt;
        for (i = 0; i < a.length; ++i) {
            d = a[i].split(“.”);
            rt = d[0];
            eval(‘if (typeof ‘ + rt + ‘ == “undefined”){‘ + rt + ‘ = {};} o = ‘ + rt + ‘;’);
            for (j = 1; j < d.length; ++j) {
                o[d[j]] = o[d[j]] || {};
                o = o[d[j]];
            }
        }
    }
};

eye.namespace(“eye”, “eye.common”, “eye.datePicker”, “eye.selectCity”, “eye.tab”,”eye.test”);
eye.test={//测试命名空间
    show: function() {
        return “aaa”;
    }
}
alert(eye.test.show());//命名空间

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,077
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,552
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,401
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,176
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,813
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,896