【发布时间】:2012-07-29 22:58:11
【问题描述】:
是
for (var i=0, cols=columns.length; i<cols; i++) { ... }
比
更有效率for (var i=0; i<columns.length; i++) { ... }
?
在第二个变体中,每次检查条件i<columns.length 时是否计算columns.length?
【问题讨论】:
-
警告:确保 cols 是用 var 和 函数内部 声明的。除非两者都如此,否则 JavaScript 可能会将其视为全局变量(从而使访问速度变慢)。基于 WebKit 的浏览器几乎忽略了全局范围内的 var,即使所讨论的变量与全局变量冲突(例如
status)。 -
@Joey Adams:'var i=0, cols=columns.length` 会将 cols 声明为 var,对吗?
标签: javascript