在大多数javascript应用程序中,我通常会声明一个类似的数组
var x = [];
Run Code Online (Sandbox Code Playgroud)
但我在MDN上看到了大量的示例代码,而不是采用这种方法
var x = new Array(10);
Run Code Online (Sandbox Code Playgroud)
使用V8 /其他现代JS引擎,您是否看到了这种或那种方式的真正好处?
没有任何。Javascript 不\xe2\x80\x99t 实现真正的数组。这一切都通过 JavaScript 对象表示法进行抽象。
\n\n所以说:
\n\na = [0, 1];\nb = {"0": 1, "1": 1};\nRun Code Online (Sandbox Code Playgroud)\n\n具有相同的效果:
\n\na[0] //0\nb[0] //0\nRun Code Online (Sandbox Code Playgroud)\n\n还有一件事要记住,当你这样做时:
\n\na[100] = 100;\nRun Code Online (Sandbox Code Playgroud)\n\n长度自动设置为 101。即使:
\n\na[2] //undefined\nRun Code Online (Sandbox Code Playgroud)\n