<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                #### 閉包產生的條件 1. 函數嵌套 2. 內部函數引用了外部函數內的變量(變量/函數) #### 閉包在實際開發中的使用場景 1. 將函數做為另一個函數的返回值 2. 將函數的形參作為實參傳遞給另一個函數調用 ``` function fn1() { var num = 10 function fn2(){ console.log(num) } return fn2 } var fn = fn1() ``` ``` function fn1(msg, time) { setTimeout( function(){ console.log(msg) }, time) } fn1('Jack learning') ``` #### 閉包的作用 1. 使用函數內部的變量在函數執行完后,仍然存活在內存中(延長了局部變量的生命周期) 2. 讓函數外部可以操作(讀寫)到函數內部的數據(變量/函數) 3. 在函數外部能否操作函數內部的變量?不能,但是通過閉包可以實現操作函數內部的變量 4. 函數執行完畢后,函數內部聲明的變量是否還存在?一般是不存在,存在于閉包中的變量才可能存在 #### 閉包的缺點及解決方案 1. 函數運行完畢后不能及時銷毀,占用內存時間長,容易造成內存泄露 2. 使用完后即時清理,避免過多的未清除變量占用內存 #### 內存泄露 1. 內存泄露積累過多就容易造成內存溢出 2. 占用的內存沒有及時釋放 3. 開發中常見的內存泄露 1. 閉包 2. 占用內存很大的全局變量 3. 沒有及時清理的計時器/定時器 #### 內存溢出 1. 當程序運行需要的內存超過了系統所分配的內存時,就會拋出內存溢出的錯誤
                  <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>

                              哎呀哎呀视频在线观看