为了账号安全,请及时绑定邮箱和手机立即绑定

一个闭包的问题

一个闭包的问题

莫回无 2019-02-05 17:38:20
function count() {    var arr = [];    for (var i=1; i<=3; i++) {        arr.push((function (n) {            return function () {                return n * n;            }        })(i));    }    return arr;}var results = count();var f1 = results[0];var f2 = results[1];var f3 = results[2];f1(); // 1f2(); // 4f3(); // 9请问count函数的返回值是 n*n吗?results拿到的是count里的哪段代码?这段代码看的头好大啊,自动执行函数不是(function(){})吗?为什么还有一个(i)??arr.push((function (n) {return function (){return n * n;}})(i));(function(){})())这个也是自动执行函数的样式吗?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 349 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信