一尘不染

Javascript数组稀疏吗?

javascript

也就是说,如果我将当前时间用作数组的索引:

array[Date.getTime()] = value;

解释器将实例化从0到现在的所有元素吗?不同的浏览器会做不同的事情吗?

我记得AIX内核中曾经存在一个错误,该错误会在请求时创建伪tty,但是如果您说“
echo> / dev / pty10000000000”,它将创建/ dev / pty0,/ dev / pty1,
....然后跌倒死亡。在贸易展览会上这很有趣,但是我不希望这种情况发生在我的客户身上。


阅读 250

收藏
2020-04-25

共1个答案

一尘不染

JavaScript数组的确切实现方式因浏览器而异,但通常归结为稀疏实现-如果使用实际数组效率不高,则最有可能用于常规对象的属性访问。

您必须问一个对特定实现有更多了解的人,以回答是什么触发了从密集到稀疏的转变,但是您的示例应该是完全安全的。如果要获得密集数组,则应使用显式的length参数调用构造函数,并希望实际上得到一个。

2020-04-25