在javascript中声明具有特定长度的数组会带来什么好处?

Tor*_*ups 6 javascript

在大多数javascript应用程序中,我通常会声明一个类似的数组

var x = [];
Run Code Online (Sandbox Code Playgroud)

但我在MDN上看到了大量的示例代码,而不是采用这种方法

var x = new Array(10);
Run Code Online (Sandbox Code Playgroud)

使用V8 /其他现代JS引擎,您是否看到了这种或那种方式的真正好处?

bea*_*der 3

没有任何。Javascript 不\xe2\x80\x99t 实现真正的数组。这一切都通过 JavaScript 对象表示法进行抽象。

\n\n

所以说:

\n\n
a = [0, 1];\nb = {"0": 1, "1": 1};\n
Run Code Online (Sandbox Code Playgroud)\n\n

具有相同的效果:

\n\n
a[0] //0\nb[0] //0\n
Run Code Online (Sandbox Code Playgroud)\n\n

还有一件事要记住,当你这样做时:

\n\n
a[100] = 100;\n
Run Code Online (Sandbox Code Playgroud)\n\n

长度自动设置为 101。即使:

\n\n
a[2] //undefined\n
Run Code Online (Sandbox Code Playgroud)\n