猿问

关于i值为什么等于5的问题

(function(){

    for(var i = 0; i < 5; i++) {}

    console.log(i) // i = 5

})()

第一个问题:请问这属于js的哪一部分知识内容?
第二个问题:通俗地解释下为什么i会等于5?
0o0

慕田峪4524236
浏览 535回答 1
1回答

倚天杖

这个问题是闭包吗?&nbsp;我觉得并不是闭包,并没有函数的嵌套. 它就是一个&nbsp;函数本地变量&nbsp;和&nbsp;匿名函数&nbsp;的问题.创建一个匿名函数并立即执行并没有涉及闭包吧. 只是循环结束,&nbsp;i&nbsp;的值变成&nbsp;5&nbsp;退出循环,&nbsp;console.log(i)打印当前的&nbsp;i, 即 5.这与以下是等同的:var test = function() {&nbsp; &nbsp; for(var i = 0; i < 5; i++) {}&nbsp; &nbsp; console.log(i) // i = 5}test();
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答