鍍金池/ 問答/HTML/ a1=[,,,]是三個undefined,還是不存在元素?

a1=[,,,]是三個undefined,還是不存在元素?

犀牛書P147:當在數(shù)組直接量中省略值時不會創(chuàng)建稀疏數(shù)組。省略的元素在數(shù)組中是存在的,其值為undefined。這和數(shù)組元素根本不存在是有一些微妙的區(qū)別的。并在書中給出了示例:

var a1 = [,,,];
var a2 = new Array(3);
0 in a1; //true:a1在索引0處有一個元素
0 in a2; //false:a2在索引0處沒有元素

但是我的實驗結果兩個都是false,是我操作不當導致的嗎?

clipboard.png

回答
編輯回答
別硬撐

clipboard.png

第一種第二種一樣的,只是定義了數(shù)組的長度;
數(shù)組中并不包含任何元素,所以返回false

2017年7月12日 15:20
編輯回答
赱丅呿

clipboard.png
并不知道題主是在什么環(huán)境下測的,
兩種寫法創(chuàng)建的元素應該都是undefined

2018年6月21日 14:52