我正在尝试创建数组中列出的对象的列表。 newConstant是一个创建对象并将它们推送到数组的函数。但是,当while循环遍历数组并引发包含每个数组的某个属性的警报时,它会为数组中的每个对象分配最后一个对象的值。在这种情况下,它每次都会提醒“3”,但它应该提醒“1”,然后提醒“3”,因为这些是数组“a”中两个对象的属性x的值。代码如下。我怎样才能解决这个问题?Javascript:数组中的所有对象具有相同的属性
var i = 0;
var a = [];
var newConstant = function (x, y) {
this.x = x;
this.y = y;
a.push(this);
};
var one = newConstant(1, 2);
var two = newConstant(3, 4);
while (i < a.length) {
alert(a[i].x);
i++;
}
阵列中的每个对象是' window'。 – zzzzBov
@zzzzBov我的地址在我的回答:) –