【发布时间】:2019-11-10 17:30:56
【问题描述】:
- 为了理解下面的代码 sn-p 我查看了这个链接。
- 但我仍然无法弄清楚为什么它在控制台中打印四个逗号。
- 因为我正在创建包含五个项目的数组
- 你能告诉我它是如何工作的吗?
new Array(5).toString();
",,,,"
【问题讨论】:
-
元素之间的空间。
-
就像 a,b,c,d,e 如果你看到这里有 5 个元素但只有 4 个逗号
-
@NinaScholz 嘿,但是总共有五个数组,所以应该有五个逗号吧?
-
@zizi 请参考下面我的回答。想想你如何声明一个项目数组; 在两个项目之间只有逗号,最后一个项目之后没有额外的逗号。
-
@slai——这篇文章有点误导。 “尾随逗号”总是被允许的,但早期的 IE 有一个错误,将它们视为语法错误。此外,IE 也没有正确处理省略,因此
[,,]创建了一个长度为 3 的数组,而它本应为 2。ECMA-262 或多或少地被修改以适应 IE 的错误行为。所以[0,1,]总是应该创建一个长度为 2 的数组,不是因为尾随逗号被忽略,而是因为最后的省略不会增加长度。但现在它在 EMCA-262 中是明确的。[1,2,,]创建一个长度为 3 的数组(它总是应该有)。 :-)
标签: javascript arrays string methods