JavaScript 性能 : While vs For Loops

标签 javascript optimization

前几天在一次技术面试中,被问到的问题之一是“如何优化 Javascript 代码”?

令我惊讶的是,他告诉我 while 循环通常比 for 循环更快。

这是真的吗?如果是,那是为什么?

最佳答案

您应该反驳说,负 while 循环会更快!请参阅:JavaScript loop performance - Why is to decrement the iterator toward 0 faster than incrementing .

whilefor 中,这两个来源通过在不同浏览器中运行各种循环并以毫秒为单位比较结果,很好地记录了速度现象: https://blogs.oracle.com/greimer/entry/best_way_to_code_a和: http://www.stoimen.com/blog/2012/01/24/javascript-performance-for-vs-while/ .

从概念上讲,for 循环基本上是一个封装的 while 循环,专门用于递增或递减(根据某种顺序或某种长度在逻辑上进行)。例如,

for (let k = 0; k < 20; ++k) {…}

可以通过使其成为负 while 循环来加速:

var k = 20;
while (--k) {…}

正如您从上面链接中的测量结果中看到的那样,节省的时间确实加起来非常大。

关于JavaScript 性能 : While vs For Loops,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18640032/

相关文章:

sql - 为什么创建不相关的索引会使我的查询更快?

python - 左循环 numpy 数组的最快方法(如弹出、推送队列)

javascript - 如果使用 react 满足某些条件,则显示下拉列表

javascript - 使用 javascript 克隆 div 的子级

SAPUI5 中的 JavaScript/ESLint 规则

mysql - 选择前100行后如何停止或限制选择?

python - 许多词典使用大量 RAM

c++ - 停止转到优化 g

javascript - 在 JavaScript 中加载和稍后引用纹理图 block 的最有效方法是什么?

javascript - 如何在 Javascript 中对一个数组与另一个数组进行排序?