我正在学习JavaScript的教程。以下是性能部分的一节:
循环中的每个语句,包括for语句,在循环的每次迭代中都会执行。 可以放在循环外部的语句或赋值将使循环运行更快。
以下是一个不好的代码示例:
var i;
for (i = 0; i < arr.length; i++) {
以下是一个良好代码的示例:
var i;
var l = arr.length;
for (i = 0; i < l; i++) {
我记不得在那些更注重性能的语言中看到过这样的最佳实践。事实上,bad code
的例子似乎更受欢迎。
这种最佳实践是 JavaScript 特有的,还是其他语言也适用呢?
for (var i=0, n=arr.length; i<n; i++) {
- 如果迭代改变了数组的长度,则不需要缓存长度。 - mplungjanlength
(除非您希望它发生更改)。更好的方式是将数组的长度存储到一个变量中,然后检查该变量。另外,您应该考虑选择一个比W3schools更可靠的教程网站。 - CertainPerformance