gpt4 book ai didi

Javascript:长度方法有效吗?

转载 作者:行者123 更新时间:2023-12-03 00:44:44 25 4
gpt4 key购买 nike

我正在做一些 javascript 编码,我想知道 length 方法是“预先计算的”,还是由 JS 引擎记住。

所以,问题是:

如果我经常检查数组长度,并且假设我不更改它(通过闭包使其不可变),我是否应该预先计算长度方法并将其存储在某个变量中?

谢谢!

最佳答案

一如既往,答案是“视情况而定”。

Let's test native arrays with a million-element array:

for (var i = 0; i < arr.length; i++);

var len=arr.length;
for (var i = 0; i < len; i++);

http://josh3736.net/images/arrlen.png

Chrome 和 Firefox 优化了属性访问器,使其与将长度复制到局部变量一样高效。 IE 和 Opera 则不然,并且速度慢 50% 以上。

但是,请记住,测试结果的“操作数/秒”表示每秒通过一百万个元素的数组的完整迭代次数

从长远来看,即使在 IE8(这组中表现最差的浏览器)中(属性访问和局部变量分别得分为 0.44 和 3.9),每次迭代的惩罚也只有不到 2 µs 。使用 array.length 迭代超过 1000 个项目只会额外花费 2 毫秒。换句话说:谨防过早优化

关于Javascript:长度方法有效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9592241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com