#coding=utf8 def func1(count): for i in range(count): print i print i #4 func1(5) def func2(count): def f(): for i in range(count): print i f() print i #抛错 func2(5)
python和js一样,应该是没有块级作用域的,可以用函数的函数来模拟块级作用域,以免变量过多造成数据污染。
而js模拟块级作用域的方法是用函数表达式+括号:
function outputFunc(count){ (function(){ //块级作用域 for (var i=0; i<count; i++); })(); alert(i);//抛错 }