我有以下JavaScript代码:
oCoord = {x: null, y: null};
var aStack = [];
oCoord.x = 726;
oCoord.y = 52;
aStack.push(oCoord);
oCoord.x = 76;
oCoord.y = 532;
aStack.push(oCoord);
oCoord.x = 716;
oCoord.y = 529;
aStack.push(oCoord);
Run Code Online (Sandbox Code Playgroud)
现在,这将创建以下结构(三个对象的数组).
Array[Object, Object, Object];
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试访问每个对象的属性时,它们都是相同的.为什么是这样?
alert(aStack[0].x); // Outputs 716
alert(aStack[1].x); // Outputs 716
alert(aStack[2].x); // Outputs 716
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
Egi*_*sen 12
您对所有坐标对象使用相同的oCoord.
试试这个:
var aStack = [];
aStack.push( { x: 726, y: 52} );
aStack.push( { x: 532, y: 76} );
aStack.push( { x: 716, y: 529} );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3427 次 |
| 最近记录: |