一段没有看懂的JS代码

有如下代码,结果看到了,不过不理解为什么会这样。

    var f = []
    
for (i = 0; i < 3; i++) {
        f[i] 
= function() { alert(i) };
    }
    f[
0]();
    f[
1]();
    f[
2]();

    
var ff = []
    
for (i = 0; i < 3; i++) {
        (
function(i) {
            ff[i] 
= function() { alert(i) };
        })(i)
    }
    ff[
0]();
    ff[
1]();
    ff[
2]();
posted @ 2009-03-14 19:13  Aricc  阅读(377)  评论(1编辑  收藏  举报