现代浏览器如何实现JS Array,特别是添加元素?

Jef*_*eff 5 javascript arrays

我的意思是,当调用.push()一个Array对象时,JavaScript会增加底层"数组"的容量(元素数量).此外,如果有足够的资源来为JS查找此类信息,那么包含这些信息会很有帮助.

编辑

似乎JS数组就像具有特殊属性的对象文字.但是,我对更低层次的细节感兴趣 - 浏览器如何在各自的JS引擎中实现它.

Sam*_*eff 5

这个qurstion没有任何正确答案.数组的扩展机制是内部实现细节,可以从一个JS实现到另一个实现.事实上,Tamarin引擎有两种不同的内部用于数组的实现,具体取决于它是否确定数组是顺序的还是稀疏的.