你应该在for-in循环中创建一个var吗?

Bin*_*Bob 1 javascript loops scoping

for(var key in object){
  //process object[key]
}
Run Code Online (Sandbox Code Playgroud)

要不就

for(key in object) {
  //process object[key]
}
Run Code Online (Sandbox Code Playgroud)

有区别吗?

小智 5

是的,有区别.无论你是否使用var key仍然是一个变量,它的'生命'实际上不会在for完成后结束,它的范围将延伸到函数结束.但如果你不使用var- 那key将是全球性的.