为js对象创建命名空间
2015-02-07 14:52
176 查看
js对象有一种创建方式,类似于json数据,格式如下:
var obj = {
name : 'feng',
age:23,
say:function() {
//................
}
}
但是对于一个js框架书写用这种方式不利于为不同的功能进行区分。能不能像c#那样创建命名空间呢?
例如:
myLib.dd = {
test : function() {
alert("sxsx");
}
}
myLib.mm = {
test : function() {
alert("sxsx");
}
}
能否:myLib.dd.test(); 或者 myLib.mm.test() 就能调用了?
答案是肯定了:
只需要在上面书写这么一个js就可以:
注意:这里的myLib要和下面定义的xxx.NS要相同,用粉红色着重打印的要一致!!!
则:
myLib.NS("dd");
myLib.dd = {
test : function() {
alert("sxsx");
}
}
myLib.NS("mm");
myLib.mm = {
test : function() {
alert("sxsx");
}
}
即可········································
var obj = {
name : 'feng',
age:23,
say:function() {
//................
}
}
但是对于一个js框架书写用这种方式不利于为不同的功能进行区分。能不能像c#那样创建命名空间呢?
例如:
myLib.dd = {
test : function() {
alert("sxsx");
}
}
myLib.mm = {
test : function() {
alert("sxsx");
}
}
能否:myLib.dd.test(); 或者 myLib.mm.test() 就能调用了?
答案是肯定了:
只需要在上面书写这么一个js就可以:
var <span style="color:#ff6666;">myLib</span>={ //创建子命名空间,用的是yui的方法------ NS:function(ns) { if (!ns || !ns.length) { return null; } var levels = ns.split("."); var nsobj = <span style="color:#ff9966;">myLib</span>; for (var i=(levels[0] == "<span style="color:#ff9966;">myLib</span>") ? 1 : 0; i<levels.length; ++i) { nsobj[levels[i]] = nsobj[levels[i]] || {}; nsobj = nsobj[levels[i]]; } return nsobj; } }
注意:这里的myLib要和下面定义的xxx.NS要相同,用粉红色着重打印的要一致!!!
则:
myLib.NS("dd");
myLib.dd = {
test : function() {
alert("sxsx");
}
}
myLib.NS("mm");
myLib.mm = {
test : function() {
alert("sxsx");
}
}
即可········································
相关文章推荐
- 创建内核对象的专有命名空间
- js对象、构造函数、命名空间、方法、属性
- J2SE基础:3.对象的创建与使用类的命名空间和访问权限
- JS(十五)继承模式,命名空间,对象枚举(上)
- JavaScript学习笔记(二十一) 对象创建模式-命名空间模式
- 第一课:js命名空间的介绍,js对象的扩展以及js数组化
- js 高级开发:对象属性prototype,自定义命名空间,自定义继承,闭包封装
- 一段经典的js命名空间创建和链式调用代码
- js对象、构造函数、命名空间、方法、属性
- js创建命名空间
- JS中使用jquery方式创建命名空间
- JS(十六)继承模式,命名空间,对象枚举(下)
- 使用伪命名空间封装保护独自创建的对象方法
- 速战速决 (5) - PHP: 动态地创建属性和方法, 对象的复制, 对象的比较, 加载指定的文件, 自动加载类文件, 命名空间
- javascript的对象创建模式---命名空间模式
- PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
- JS命名空间、对象封装
- JS命名空间创建
- JS 创建对象的几种方式
- ASP.NET 2.0 创建母版页导致js出现“ 'document.getElementById(...)' 为空或不是对象”错误