猿问

下面js代码,为什么counter和counter2 都有私有的作用域 i?

// 因为返回的函数有权访问私有变量 `i`

  function makeCounter() {    // `i` 只能在 `makeCounter`内被访问.
    var i = 0;    return function() {      console.log( ++i );
    };
  }  // 注意 `counter` 和 `counter2` 都有私有的作用域 `i`.

  var counter = makeCounter();
  counter(); // logs: 1
  counter(); // logs: 2

  var counter2 = makeCounter();
  counter2(); // logs: 1
  counter2(); // logs: 2

  i; // ReferenceError: i 未定义 (只存在 makeCounter 内部)


largeQ
浏览 467回答 1
1回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答