标签:返回 就会 目标 安全 == not span assign ring
function anotherFunction(){/** ... */}; var anotherObject = { c: true }; var anotherArray = []; var myObject = { a: 2, b: anotherObject, // 引用,不是复本! c: anotherArray, // 另一个引用 d: anotherFunction } anotherArray.push(anotherObject, myObject);
如何准确的表示 myObject 的复制呢?
var newObj = JSON.parse( JSON.stringify( someObj ) );
var newObj = Object.assign({}, myObject); newObj.a; // 2 newObj.b === anotherObject; // true newObj.c === anotherArray; // true newObj.d === anotherFunction; // true
Object.assign(..) 就是使用 = 操作符复制,所以对源对象属性对一些特性不会被复制到目标对象
标签:返回 就会 目标 安全 == not span assign ring
原文地址:https://www.cnblogs.com/wzndkj/p/12536492.html