https://zh.javascript.info/closure#step-4-fan-hui-han-shu

    每个函数调用都会形成独立的外部词法环境

    1. function makeCounter() {
    2. let count = 0;
    3. return function() {
    4. return count++;
    5. };
    6. }
    7. let counter = makeCounter();
    8. let counter2 = makeCounter();
    9. alert( counter() ); // 0
    10. alert( counter() ); // 1
    11. alert( counter2() ); // 0
    12. alert( counter2() ); // 1
    13. 函数 counter 和 counter2 是通过 makeCounter 的不同调用创建的。
    14. 因此,它们具有独立的外部词法环境,每一个都有自己的 count。