我正在嘗試創建數組中列出的對象的列表。 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我的地址在我的回答:) –