一个关于Javascript的闭包问题,为什么函数值为16?

<script>

       function count() {

            var arr = [];

            for (var i=1; i<=3; i++) {

                arr.push(function () {

                    return i * i;

                });

            }

            return arr;

        }

        var results = count();

        var f1 = results[0];

        var f2 = results[1];

        var f3 = results[2];

        f1(); 

        f2(); 

        f3(); 

</script>

为什么f1(),f2(),f3(),都是16,而不是1,4,9?谢谢

慕森卡
浏览 560回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript