var Global={}
Global.namespace=function(str){
var arr = str.split("."),o=Global;
for(i=(arr[0]=="Global")?1:0;i<arr.length;i++){
o[arr[i]]=o[arr[i]]||{};
o=o[arr[i]];
}
}
这个函数是给对象gloabl加一个属性
Global.namespace("A");
同等于
Global.A={}
但是我就疑惑了 函数个过程是 吧Global复制给o 然后下面都是对o的操作 也没改变Global啊
为什么外面Global.A 就被声明了呢。这也不是引用赋值啊。
JS 菜都是自学的。大家帮忙解释下
解决方案 »
- 求助关于正则表达式的替换
- 帮忙看一个表单验证 我写的 但是出不来验证提示
- 如何获取链接里面的内容,比如<a href="javascript:onclick(this)">xxx</a>,这个 xxx 该怎样获取呢?用this.innerText也不行哦。
- Javascript inherit problems
- 关于使用标记属性的问题
- 帮帮忙,一个简单的问题,在线等候。
- 在CSS中的filter : Chroma方法能不能使某一个范围内的颜色都变为透明的?
- 如何用javascipt获取前一级页面的链接?
- 经典集--鸡蛋/UFO(不明飞行物体)收集器
- 求一jquery算法
- 怎样实现样式变换
- 问个基础的@script。
对o的引用操作就是对Global的引用操作
这句话不就把对象给覆盖了么 怎么解释?
o=Global
o=o[arr[i]];可以可以看做是 o的一个属性o[arr[i]] 覆盖了o?
为什么Global=Global["A"]就不对呢原理不是一样么。