(function(){ for(var i = 0; i < 5; i++) {} console.log(i) // i = 5})()第一个问题:请问这属于js的哪一部分知识内容?第二个问题:通俗地解释下为什么i会等于5?0o0
1 回答

倚天杖
TA贡献1828条经验 获得超3个赞
这个问题是闭包吗? 我觉得并不是闭包,并没有函数的嵌套. 它就是一个 函数本地变量 和 匿名函数 的问题.
创建一个匿名函数并立即执行并没有涉及闭包吧. 只是循环结束, i
的值变成 5
退出循环, console.log(i)
打印当前的 i
, 即 5.
这与以下是等同的:
var test = function() {
for(var i = 0; i < 5; i++) {}
console.log(i) // i = 5
}
test();
添加回答
举报
0/150
提交
取消