ฉันเคยสังเกตสิ่งนี้ใน Firefox-3.5.7 / Firebug-1.5.3 และ Firefox-3.6.16 / Firebug-1.6.2
เมื่อฉันลุกขึ้น Firebug:
var x = new Array(3)
console.log(x)
// [undefined, undefined, undefined]
var y = [undefined, undefined, undefined]
console.log(y)
// [undefined, undefined, undefined]
console.log( x.constructor == y.constructor) // true
console.log(
x.map(function() { return 0; })
)
// [undefined, undefined, undefined]
console.log(
y.map(function() { return 0; })
)
// [0, 0, 0]
เกิดอะไรขึ้นที่นี่? นี่เป็นข้อบกพร่องหรือฉันเข้าใจผิดว่าจะใช้new Array(3)
อย่างไร
var y = x.map(function(){return 0; });
นั้นและฉันได้รับทั้งวิธี Array () ใหม่และตัวอักษรอาร์เรย์ ฉันทดสอบใน Firefox 4 และ Chrome