请问:js中这是什么现象??? 本帖最后由 OlinBin 于 2011-06-30 17:10:49 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 _a 和_b没区别关键是要理解js的对象克隆不是简单的用等号,而是需要创建对象,然后再遍历对属性赋值。 _b只是引用的_a,_b里并没有_a的复制。 function clone(myObj){ if(typeof(myObj) != 'object') return myObj; if(myObj == null) return myObj; var myNewObj = new Object(); for(var i in myObj) myNewObj[i] = clone(myObj[i]); return myNewObj;} 对象是按引用来传递的。就好比指针。这是编程语言的通用法则。 数组也是对象如果你要删不掉可以这样var _a = [{"a":1,"b":2,"c":3}];var _b = [{}];_b[0].a=a[0].a_b[0].b a[0].b_b[0].c=a[0].c javascript里的htc文件有什么用? 谁有568.com的顶部天气代码程序。 * 请教: 如何把 input里面的字符串转成 UTF-8 ? 请问,二个两个文本框,分别是最高阀值跟最低阀值,脚本怎样验证高的一定别低的大 ie 如果不支持javascript如何提示客户端 正则 字符串变量删除 如何将输入的值进行转为特定字符串? 关于网页中的可编辑的表格,或叫自由表格。。。 时间问题 js执行顺序如何控制 Jquery 的問題~ js错误 marquePic2未定义
关键是要理解js的对象克隆不是简单的用等号,而是需要创建对象,然后再遍历对属性赋值。
function clone(myObj){
if(typeof(myObj) != 'object') return myObj;
if(myObj == null) return myObj;
var myNewObj = new Object();
for(var i in myObj)
myNewObj[i] = clone(myObj[i]);
return myNewObj;
}
如果你要删不掉可以这样
var _a = [{"a":1,"b":2,"c":3}];
var _b = [{}];
_b[0].a=a[0].a
_b[0].b a[0].b
_b[0].c=a[0].c