这是一篇翻译的文章。原文:http://wtfjs.com/2013/07/18/array-ruse
[,,,].join() // ==> ",,"
最后一个逗号被当作多余的部分被移去了(仅在JavaScript中,不包括JSON,译者表示,低版本的IE也是如此,因此在低版本IE中输出的是",,,")。一旦最后一个逗号被移去,数组中仅有三个元素,且是undefined类型的。 当join函数被调用,参数为空时,使用","作为元素的分隔符生成在字符串中,所以只有两个分隔符",,"
所以 [1,2,3,] 等价于 [1,2,3]. [,,,] 构建的数组,其实就是 [undefined,
undefined, undefined,]. 你可以像下面......
阅读全文