我在 JavaScript 中将对象分配给数组时遇到了一个奇怪的问题,这是完整的代码
var co = {'yAxis':10};
var dynCharts = new Array();
for (var x=0; x<2; x++){
dynCharts[x] = co;
}
//assigning to first array only
dynCharts[0].yAxis = { 'a':'1'};
//now alert second array
alert(dynCharts[1].yAxis.a);
如果您在上面的示例代码首先我有一个名为 co 的对象,那么我将该对象分配给数组。现在我想更改第一个数组的名为 yAxis 的属性,但它也在更改第二个数组的 yAxis 对象的值。
这段代码的 JSfiddle 在这里:http: //jsfiddle.net/qvKaZ/
有人可以帮助我为什么它会以财产方式发生吗?