var undef0 = [,,]; var undef1 = [1,,]; var undef2 = [,1,]; var undef3 = [,,1]; console.log(undef0.length); console.log(undef1.length); console.log(undef2.length); console.log(undef3.length);
我們可以猜一下四個(gè)console.log輸出的長度各是多少,之前我一定會(huì)猜都是3。實(shí)際結(jié)果如下所示:
這是為什么呢,答案就是:數(shù)組直接量的語法允許有可選的結(jié)尾的逗號(hào),故[,,]、[1,,]、[,1,]這三種情況JS引擎會(huì)認(rèn)為最后一個(gè)逗號(hào)是結(jié)尾的逗號(hào),所以就認(rèn)為只有兩個(gè)元素,而[,,1]這種情況人為的給最后一個(gè)逗號(hào)后面又添加了一個(gè)元素,所以最后一個(gè)逗號(hào)就不是結(jié)尾了,所以我們就能想到[,,1,]的長度仍然為3。
Copyright ? 2019- 91gzw.com 版權(quán)所有 湘ICP備2023023988號(hào)-2
違法及侵權(quán)請聯(lián)系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市萬商天勤律師事務(wù)所王興未律師提供法律服務(wù)