难以理解javascript数组的匿名函数

时间:2017-01-05 13:08:09

标签: javascript arrays

我目前无法理解以下Javascript代码,经过搜索后我仍然无法弄明白。我已经包含了下面的功能

function buildFunctions(){

    var arr = [];

    for(var i = 0; i < 3; i++){
        arr.push(function(){
            console.log(i);
        })
    }

    return arr;
}


var fs = buildFunctions();

fs[0]();
fs[1]();
fs[2]();

问题:有人可以帮助我理解为什么下面的代码产生所有3而不是0,1,2?

我真的很想明白这里到底发生了什么,但我不明白为什么这些功能不能输出0,1,2

0 个答案:

没有答案