// 因为返回的函数有权访问私有变量 `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 内部)
添加回答
举报
0/150
提交
取消