日期:2014-05-16  浏览次数:20395 次

闭包问题
为什么写闭包时要传一个参数进去啊,根据js作用域原理,内层的函数不是可以引用全局变量嘛

------解决方案--------------------
这里的i不是全局变量,他是第一个匿名函数function()里面的局部变量。
------解决方案--------------------
楼主应该先理解“词法作用域”和“变量作用域”,你看下面例子,弄清楚了,就理解你的问题了

JScript code

var str = "111";

function f1(){
    alert(str);
}

function f2(){
    var str = "222";
    f1();
}

f2();