【发布时间】:2018-03-26 17:41:32
【问题描述】:
使用 for 循环 将其包裹在 JavaScript 中的函数作用域 { } ?
function logs(){ //function scope started
for(var i=1; i<=5; i++) {
console.log(i); //i accessible
}
console.log(i); //i accessible
} //function scope ended
console.log(i); //i not accessible because it was declared in a block scope
logs();
【问题讨论】:
-
i在 for 循环之外无法访问... -
如果变量 i 不在循环范围内 - 是不是很糟糕?
-
如果您仔细,您的第二个 console.log(i) 会出错。
-
如果变量 i 不在循环范围内 - 是不是很糟糕? 一点也不。这取决于你的目标是什么。
-
当您仅使用
var时,没有“块范围”之类的东西,所以{}绝对什么都不做,这个问题毫无意义,因为在使用时添加额外的{}var不是任何人都会做的事情。这就像写console.log("test");;;;;;;;;;;;;;;;。当然,这是合法的,但它不会为你做任何事情,所以没有人会这样做。
标签: javascript for-loop