[JS]对象复制的奇技淫巧一则
Javascript的对象操作,直接用 “=” 结果是对象的一个引用,任意一个引用的改变都会让原对象产生变化。
而很多时候我们需要对一个对象进行“复制”,最直观的方法是遍历原对象,这也是最实际的方法。
而在这我们给出一个“奇技淫巧”,仅适用于对象成员都是基本数据类型。
(适用于诸如 对象模板
等应用场景)
var a = {
'a':1
};
var b = JSON.parse(JSON.stringify(a));
b.a=2;
console.log(a); //Object { a=1}
console.log(b); //Object { a=2}
可以发现,经过序列化/反序列化操作,原对象被“简单”的复制了一遍(主要是因为序列化以后是string简单类型)。
这个方法代码简单,具体时间效率
还需要实际测试一下。