开发者社区> 问答> 正文

看下面代码,给出输出结果(考察闭包及++运算符)

function Foo() {
  var i = 0;
  return function() {
    console.log(i++);
  };
}
var f1 = Foo(),
  f2 = Foo();

function fn() {
  var a = 1;
  return function() {
    a++;
    console.log(a);
  };
}
var b = fn();
console.log(b());```

function fn() { var a = 1; return function() { console.log(a++); }; } var b = fn(); console.log(b());

展开
收起
kun坤 2019-11-28 14:15:14 343 0
1 条回答
写回答
取消 提交回答
  • function Foo() {
      var i = 0;
      return function() {
        console.log(i++);
      };
    }
    var f1 = Foo(),
      f2 = Foo();
    
    f1(); // 0
    f1(); // 1
    f2(); // 0
    
    function fn() {
      var a = 1;
      return function() {
        a++;
        console.log(a);
      };
    }
    var b = fn();
    console.log(b());
    // 2
    
    function fn() {
      var a = 1;
      return function() {
        console.log(a++);
      };
    }
    var b = fn();
    console.log(b());
    // 1
    
    2019-11-28 14:15:24
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载