易错之for循环

for i in range(3):
    print(i)
print(i,"---")      #Python的问题就在于,当循环结束以后,循环体中的临时变量i不会销毁,而是继续存在于执行环境中。
flist = []
for i in range(3):
    def foo(x):
        print(x + i)
    flist.append(foo)

for f in flist:
    f(1)    #原因在于foo()=x+i  x=1,此时函数在局部变量中找i,没有,在全局变量中找,for循环将i变成了2,所以x+2=3

 JavaScript中

    <script>
        for(var i=0;i<3;i++){
            console.log(i)
        }
        console.log(i,"---")  #3
        console.log(i,"---")  #3
    </script>
原文地址:https://www.cnblogs.com/yanxiaoge/p/10506276.html