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