对于Javascript中的循环优化

Ami*_*die 3 javascript memory optimization performance for-loop

所以我一直在学习使用C +教授编程概念的计算机科学课程.今天我学到了一个新的概念,我不确定应用于JS,每次计算string.length时都会消耗系统资源.这似乎是一件小事,但它让我想到了巨大的阵列以及它如何加起来.看看这个例子,让我知道循环#2是否确实比第一个更有效并且谢谢:

var weekDay = ["Monday", "Tuesday", "Wednesday"];

//for loop #1
for(i=0; i<weekDay.length; i++){
 //code code code
;}

//for loop #2
for(i=0; var n=weekDay.length; i<n; i++){
 //code code code
;}
Run Code Online (Sandbox Code Playgroud)

Tra*_*s J 5

第二种方法更快,但不是很多.此外,还有一个小的语法错误

for( var i = 0, n = weekDay.length; i < n; i++ ){ ... }
Run Code Online (Sandbox Code Playgroud)

这在javascript代码中很常见.请注意声明所有变量的重要性,var以便它们不会踩到错误的范围.

你可以在这里看到这个js性能测试:http://jsperf.com/forloopiterator,它显示使用第二种方法时结果快24%.