很普通的一个例子,但是关于let的块级作用域,有一些不明白第一个这么写我可以理解:每次循环一下,就创建一个函数,而把全局的i的当前值赋给函数的参数(局部的),防止全局污染,相当于创建了10个函数换成let,可以简单的实现这个功能,但是我就搞不太懂为什么了,虽然不是全局变量了,但是感觉跟全局变量的意思是一样的:i的作用域就是在for里,不再是全局的了, 找当时生成的时作用域,当时传进来的i是多少,这里i就是多少。感觉这样并不能说服我自己,为什么alert(i); i还保持了当时的值呢?for循环不是也早就执行完了吗,咋不是10?
添加回答
举报
0/150
提交
取消
