function ns(pkg) {
if (!pkg) {
return null;
}
var o = {};
var arr = pkg.split('.');
o = o[[ arr[0] ]] = {};
var len = arr.length;
for ( var i = 1; i < len; i++) {
o = o[arr[i]] = {};
}
return o;
}
var pkg = ns("com.momo.test");
alert(pkg.com);
这儿弹出的是undefine,断点调试显示pkg也是undefine这是怎么回事??命名空间JavaScript
if (!pkg) {
return null;
}
var o = {};
var arr = pkg.split('.');
o = o[[ arr[0] ]] = {};
var len = arr.length;
for ( var i = 1; i < len; i++) {
o = o[arr[i]] = {};
}
return o;
}
var pkg = ns("com.momo.test");
alert(pkg.com);
这儿弹出的是undefine,断点调试显示pkg也是undefine这是怎么回事??命名空间JavaScript
解决方案 »
- 请教高手帮忙解决,,在线等,谢谢!
- !求教 AJAX 有时会出现不连接的情况
- ext树如何当展开时,改变其下的节点?
- 大家帮忙看一下啊
- ADODB.Stream如何(Loadfromfile)装载网页中的图片或数据流!(第一次发贴)
- 看网上一个时间例子。但总发现运行的结果不是我想要的
- 如何检查一段字符串里含有html代码?
- 总说缺少对象,是什么原因?如何改??关于swapimage
- 小白请教: form.id.value = array[2] 这样赋值除了可以在input中,还可以在什么里面?
- html 有没有办法把视频背景设置透明
- Ckeditor 获取上传图片的地址的问题。
- iterator中getElementById?求大侠指导
if (!pkg) {
return null;
}
var o = {},x;
var arr = pkg.split('.');
x = o[[ arr[0] ]] = {};
var len = arr.length;
for ( var i = 1; i < len; i++) {
x = x[arr[i]] = {};
}
return o;
}你每次都将o给重新赋值而不是指向新的{},最后出来的不知道是啥玩意了,改一下。
if (!pkg) {
return null;
}
var o = {};
var arr = pkg.split('.');
if(arr.length){
var currentPath = o;
var len = arr.length;
for ( var i = 0; i < len; i++) {
currentPath[arr[i]] = {};
currentPath = currentPath[arr[i]];
}
}
return o;
}function test(){
var pkg = ns('com.momo.test');
console.log(pkg);
}
lz要的应该是这个效果吧- -.
按照3楼所说,断点调试显示pkg任然是undefine,关于js对象赋值的问题
如 x=arr[0]={},x=arr[1]={},像这种形式x的值arr[0]没有被arr[1]覆盖,任然可以通过{x[arr[0]]}arr[1]一层一层访问是什么原理??
v = v.split(".");//返回字符串数组
var o = window[v[0]] = window[v[0]] || {};
for(var i = 1 ; i < v.length ; ++i){
o = o[v[i]] = o[v[i]] || {};
}
}
ns("com.momo.test");
alert(com.momo.test);
var arr = new Array(3)
arr[0] = "Father"
arr[1] = "Son"
arr[2] = "Grandson"
var o = {};
o=o[arr[0]]=o[arr[0]] || {};
o=o[arr[1]]=o[arr[1]] || {};
o=o[arr[2]]=o[arr[2]] || {};
结果是Father Father.son都是undefine,这是怎么回事???
if (!pkg) {
return null;
}
var o = {},x;
var arr = pkg.split('.');
x = o[[ arr[0] ]] = {};
var len = arr.length;
for ( var i = 1; i < len; i++) {
x = x[arr[i]] = {};
}
return o;
}var result = ns('com.momo.test');
console.log(result)
console.log(result.com)
console.log(result.com.momo)
console.log(result.com.momo.test)