请问: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 div遮挡按钮问题,求助,拜托各位了... js 获取datalist中的textbox的id值 javascript动态生成输入框疑问 javascript IE6兼容性问题 javascript页面内传值的问题,请高手帮忙修改下代码。 js代码都在放在哪儿 如何比较两个日期的大小啊? 一个Form里的两个Submit同时提交问题(解决立马给分) 禁止冒泡,怎么写? 请教下,textfield如何取得grid中某一行的字段对应数据 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