var i,j;
for (i=0; i<30; i++) {
for (j=0; j<10; j++) {
// do something
}
}
对比
for (var i=0; i<30; i++) {
for (var j=0; j<10; j++) {
// do something
}
}
第二种方式由于JavaScript的作用域逻辑而创建和销毁了j 30次?我更喜欢使用第一种方式,但我不确定是否有区别。有吗?
var
会被提升。个人认为第一种写法更简洁,但两种写法是等价的。 - Paul S.for
语句并没有特殊的作用域,函数才有。 - adeneofor (let j=0; j<10; j++)
,就会出现这种情况。 - A. Wolff