我有个问题.
例如,我使用这样的for循环:
for ( var i = 0; i < some_length; i++ ) {
/* some code */
}
Run Code Online (Sandbox Code Playgroud)
在该变量i被提升之后.
这是否意味着我总是应该i在范围的开头声明变量?
var i;
for ( i = 0; i < some_length; i++ ) {
/* some code */
}
Run Code Online (Sandbox Code Playgroud)
UPD:
我知道两个循环的工作方式相同.
我的意思是哪一个更正确?
现代的JavaScript支持块作用域通过let.
for ( let i = 0; i < some_length; i++ ) {
/* i is defined here */
}
/* i is not defined here * /
Run Code Online (Sandbox Code Playgroud)
回到原来的问题:哪个例子更正确?
我认为第二个不容易出错.