在for循环中使用var关键字

Liz*_*ard 3 javascript performance standards coding-style

这与JavaScript的"for-in"循环中的"var"或"var"无关?(但更多地谈论范围 - 这个问题不是关于范围)

循环通过对象或数组更有效/更常见,为什么?

选项1 - 设置var外部循环

// Object
var x;
for (x in obj) { ... }
// Array
var i;
for (i = 0; i < array.length; ++i) { ... }
Run Code Online (Sandbox Code Playgroud)

选项2 - 在循环中设置var

// Object
for (var x in obj) { ... }
// Array
for (var i = 0; i < array.length; ++i) { ... }
Run Code Online (Sandbox Code Playgroud)

Que*_*tin 6

var 被提升并被限定为函数,而不是块,因此差异将由编译器优化.

第二个稍快一点,因为通过线路发送的字符较少.这种差异不足以成为决定使用哪种因素的影响因素.