js删除对象属性问题
如下:varname={a:'value1'};varname2=name;deletename2.a;为什么name.a也被删除了?只想删除name2.a保留name2...
如下:
var name = {a:'value1'};
var name2 = name;
delete name2.a;
为什么name.a也被删除了?只想删除name2.a保留name2.a如何写? 展开
var name = {a:'value1'};
var name2 = name;
delete name2.a;
为什么name.a也被删除了?只想删除name2.a保留name2.a如何写? 展开
2个回答
展开全部
因为对象在赋值时,其实是引用,并不是拷贝一份。
可以用以下代码:
Object.prototype.clone=function(){
var newObj = new Object();
for(elements in this){
newObj[elements] = this[elements];
}
return newObj;
}
var name = {a:'value1',b:'value2'};
var name2 = name.clone();
name2.a="aaa";
delete name2.a;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询