js对象拷贝的方法
对象拷贝的方法是一个难点,尤其是深拷贝。
1. 适合情况:
JSON对象的深度克隆。方法是先JSON.stringify() 转为json字符串, 再JSON.parse() 转为json数组
2. 缺点:
a. 如果你的对象里有函数, 函数无法被拷贝下来
b. 无法拷贝copyObj对象原型链上的属性和方法
var obj = {x:1,y: {a:1,b:0,c: [1,2,3] }};
// 相同的引用
var obj2 = obj;
console.log(obj2 == obj);//true
直接复制只是复制对象的指针,还指向同一个对象
//不同的引用
var obj3 =JSON.parse(JSON.stringify(obj));
console.log(obj3 == obj)//false
过json方法复制后的地址不一样
网友评论