gpt4 book ai didi

javascript - 每次将 i 与 array.length 进行比较时,循环都会检查 array.length 吗?

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

我四处浏览,然后我 found this :

var i, len;
for(i = 0, len = array.length; i < len; i++) {
//...
}

我的第一个想法是:

  • 他为什么这么做? (由于某种原因它一定更好)
  • 值得吗? (我想是的,否则他为什么会这样做?)

普通循环(不缓存长度的循环)每次都会检查 array.length 吗?

最佳答案

由三部分组成的循环执行如下:

for (A; B; C)

A - Executed before the enumeration
B - condition to test
C - expression after each enumeration (so, not if B evaluated to false)

所以,是的:.length如果数组的构造为for(var i=0; i<array.length; i++),则在每次枚举时都会检查数组的属性。 。对于微优化,将数组的长度存储在临时变量中是有效的(另请参阅: What's the fastest way to loop through an array in JavaScript? )。

相当于 for (var i=0; i<array.length; i++) { ... } :

var i = 0;
while (i < array.length) {
...
i++;
}

关于javascript - 每次将 i 与 array.length 进行比较时,循环都会检查 array.length 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8452317/

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