2 回答

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊
數(shù)字下標(biāo)和字符串作為屬性名其實(shí)完全不是一回事
雖然你前面用new Array(3)來初始化的a,其實(shí)這時(shí)的a僅僅是初始化為[undefined,undefined,undefined],但后面a["a"]=1之類其實(shí)已經(jīng)不是給數(shù)組元素賦值了,而是給a對(duì)象的屬性設(shè)置屬性值了,注意這些值不會(huì)導(dǎo)致數(shù)組對(duì)象的length屬性值改變的。
console.log(a);
console.log(a.length);
console.log(a[2]);
a["a"]=1
a["c"]=2
a["b"]=3
console.log(a.length);
a[5]=4
console.log(a.length);
a["x"]="xasd"
a[""]="dd"
a[3]=5
console.log(a);
console.log(a.length);
for (b in a)
document.write(b,"--",a[b],"*<br>")
如果按上面的代碼,你可以看到更多細(xì)節(jié)

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個(gè)贊
for in
不保證遍歷順序
另外所謂的“字符類型下標(biāo)”和數(shù)字下標(biāo)不是一回事,只是添加在數(shù)組對(duì)象上的屬性。
添加回答
舉報(bào)