看《javascript權威教程》的時候,關于第七章7.3稀疏數(shù)組,有兩點不是很明白。第一書中的原話是:‘注意,當在數(shù)組直接量中省略值時不會創(chuàng)建稀疏數(shù)組。省略的元素在數(shù)組中是存在的,其值為undefined。這和數(shù)組元素根本不存在是有一些微妙的區(qū)別的??梢杂胕n操作符來檢查區(qū)別?!又褪抢樱簐ar a1 = [,,,];//數(shù)組是[undefined,undefined,undefined]var a2 = new Array(3);0 in a1 //true:a1在索引0處有一個元素。0 in a2 //false可是我在編譯器里測試的時候,0 in a1輸出的是false。第二上面例子結束后,書中繼續(xù)說的問題徹底有點暈了。‘需要注意的是,當省略數(shù)組直接量中的值時(使用連續(xù)的逗號,比如[1,,3]),這時所得到的數(shù)組也是稀疏數(shù)組,省略掉的值時不存在的?!^續(xù)例子:var a1 = [,]; //此數(shù)組沒有元素,長度為1var a2 = [undefined]; //此數(shù)組包含一個值為undefined的元素。0 in a1 //false:a1在索引為0處沒有元素。感覺上下有點沖突的意思,并且第一個例子中我自己驗證還和書中的不一樣,到底哪里出了問題?求大神解答。附上圖片:
js關于稀疏數(shù)組的問題
元芳怎么了
2019-03-07 18:15:21