JavaScript:如何复制对象?

Jam*_*mes 2 javascript copy object javascript-objects

我正在尝试创建对象 a 的副本,而不必手动将其属性输入到对象 b 中。在此代码中,b 仅引用 a。我想创建一个新版本的a,这样当我向b添加属性时,通过a看不到它。

var a = new Object(); // create an empty object
var b = a;             // now b refers to the same object
b.test = 1;            // add a new property to b
alert(a.test);         // => 1: the new property is also visible through a
a === b;               // => true: a and b refer to the same object
Run Code Online (Sandbox Code Playgroud)

Kuk*_*won 7

在纯 JavaScript 中你可以这样做:

var copy = JSON.parse(JSON.stringify(myObj));
Run Code Online (Sandbox Code Playgroud)

请参阅: http: //jsfiddle.net/kukiwon/AyKdL/

  • 这当然不适用于函数。 (2认同)