gpt4 book ai didi

Javascript 改进了原生 for 循环

转载 作者:可可西里 更新时间:2023-11-01 02:32:16 25 4
gpt4 key购买 nike

我刚刚安装了用于开发的 Aptana Studio,Javascript 的可用命令之一是像这样插入一个 for 循环:

for (var i=0; i < Things.length; i++) {
Things[i]
};

另一个选项是 Insert 改进的 for 循环,如下所示:

for (var i = Things.length - 1; i >= 0; i--){
Things[i]
};

为什么最后一个比第一个好?

最佳答案

//   (  A  )  (       B       )  (C)
for (var i=0; i < Things.length; i++) {
Things[i]
};
  • A 在循环开始之前执行一次
  • B 在每次迭代之前 被重新计算,如果它不是真的,它退出循环(因此它检查 Things 的 length 属性迭代。)
  • C 在每次迭代后执行

也就是说,您从更改循环中获得的性能是最小的,并且您冒着牺牲部分可读性的风险,因此请坚持您认为最具可读性的内容 - 而不是最正确的性能方面的内容。


这对你来说可能更有意义:

for (var i=0; i < Things.length; i++) {
Things[i] = null;
};

可以改写如下:

var i = 0; //A
while (true) {
if (!(i < Things.length)) { //B - We check the length all the time
break;
}
Things[i] = null;
i++; //C
}

for (var i = Things.length - 1; i >= 0; i--){
Things[i] = null;
};

可以改写如下:

var i = Things.length - 1; //A - We only check the length once
while (true) {
if (!(i >= 0)) { //B
break;
}
Things[i] = null;
i--; //C
}

关于Javascript 改进了原生 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17484227/

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