@_@ 在 JS 中如何实现 命名空间?
JS 脚本越攒越多,如果管理不好就是灾难,
因此提出 在 JS 中如何实现 命名空间?
当然也是看到有人已经这么做了。
实现原理是什么?
最好能给出一个简单实现的例子?
JS 命名空间是否具有哪些局限性或潜在问题?
------解决方案--------------------var outer = {};
outer.inner = {
show:function(){
alert( 'this is outer.inner.show Function ');
}
};
使用时
outer.inner.show();
这就是js的命名空间了……其实就是一个对象里包含另一个对象,使它使用起来像个命名空间……
------解决方案--------------------http://www.ajaxwing.com/index.php?id=2
http://www.knowsky.com/340901.html
------解决方案--------------------目前版本的JS不支持命名空间。目前只有运用原型来搞,差不多就是封装一下,这样就不会每个人之间开发的程序的混了。
------解决方案--------------------var _registerNS = function (ns) {
// see detail http://www.never-online.net
var levels = ns.split( ". ");
var _NS = neverModules;
for(var i=(levels[0]== "neverModules ")?1:0; i <levels.length; i++) {
_NS[levels[i]] = _NS[levels[i]] || {};
_NS = _NS[levels[i]];
}; return _NS;
};
_registerNS( "neverModules.ui ");
neverModules.ui.autocomplete = function(){};//_class();
neverModules.ui.autocomplete.prototype = {
//your code
}