<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                >[success] # 閉包 [閉包的導讀從概念看閉包](http://www.hmoore.net/cyyspring/more/1314922) >[info] ## 從執行上下文看閉包 ~~~ let x = 5; // 在VO(G) 儲存該變量 // const 定義因此fn 也是VO(G) const fn = function fn(x) { return function (y) { console.log(y + (++x)); } }; // 執行fn(6) 此時創建一個EC(fn) 的執行上下文推入ESC執行棧中 // f 此時在全局上下文中VO(G) 中指向的是fn return 返回的匿名函數地址 // 此時f 即 fn return 返回的匿名函數存在的原因,導致這個匿名函數暫時不能被釋放 // 然而 此匿名函數 此時scope 作用域鏈指向他上級也就是 fn 也因此不能被釋放 let f = fn(6); // 此時 調用f(7) 即調用匿名函數 即因為匿名函數沒有被釋放他上級作用域fn 依舊不能 // 被釋放,此時在上次執行沒被釋放的 AO(fn) 依舊共享 f(7); // 但是時fn(8) 和上面f 沒有任何關系,函數每次執行會創建新的私有的執行上下文即EC(fn(8)) // 此時fn(8) 生成的匿名函數被(9) 直接掉用導致 內存再次不能被釋放,但隨著(9)銷毀 // fn(8)也不在被占用因此也跟著銷毀 fn(8)(9); // 此時f(10) 因為還在使用f ,導致f 上級作用域fn 依舊不能被銷毀,此時AO(fn)接著上次繼續變化 f(10); console.log(x); ~~~ * 圖片來自珠峰課堂 ![](https://img.kancloud.cn/c9/69/c969b265a4cf066e008b72821f5210ac_2679x1469.png) ![](https://img.kancloud.cn/4a/ba/4aba8b3e3abd8a81d51fa1ffdfb70425_483x361.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看