<address id="ttjl9"></address>

      <noframes id="ttjl9"><address id="ttjl9"><nobr id="ttjl9"></nobr></address>
      <form id="ttjl9"></form>
        <em id="ttjl9"><span id="ttjl9"></span></em>
        <address id="ttjl9"></address>

          <noframes id="ttjl9"><form id="ttjl9"></form>

          js垃圾回收和內存泄露、js異步之宏任務和微任務

          2021-9-18    前端達人

          js垃圾回收

          標記清除 

                 當變量進入環境時,在函數中聲明一個變量,就將這個變量標記為“進入環境”。從邏輯上講,永遠不能釋放進入環境的變量所占用的內存,因為只要執行流進入相應的環境,就可能會用到它們。而當變量離開環境時,則將其標記為“離開環境”

          引用計數 

                  就是跟蹤記錄每個值被引用的次數。當聲明了一個變量并將一個引用值賦給該變量時,則這個值的引用次數為1。如果同一個值又被賦值給另一個變量,則該值的引用次數加1。相反,如果這個值引用的變量又取得了另外一個值,則這個值的引用次數減 1。當這個值的引用次數變成 0 時,則說明沒有辦法再訪問這個值了,因此就可以將其占用的內存空間回收、當下次再運行時,它就會釋放引用次數為 0 的值所占用的內存

          內存泄漏:

                  不用的內存,沒有及時釋放,就叫做內存泄漏

          js中的內存泄漏:

          1. 循環引用

                  一個DOM對象被一個Javascript對象引用,同時又引用其它的Javascript對象,這個DOM對象可能會引發內存泄露。這個DOM對象的引用不會在腳本停止的時候被垃圾回收。要想破壞循環引用,就將引用DOM元素的對象賦值為null

          2. 閉包

                  在閉包中引入閉包外部的變量時,當閉包結束此對象無法被垃圾回收

          3. DOM泄露

                  當原有dom被移除時,子節點引用沒有被移除則無法回收

          4. Timers 計(定)時器泄露

          js異步之宏任務(marcroTask)和微任務(microTask)

                  宏任務包括:setTimeout、 setInterval、 Ajax 和 DOM事件
                  微任務:Promise、 async/await
                  微任務宏任務的執行時間要

          異步和單線程

                  異步單線程相輔相成的,js是一門單線程腳本語言,所以需要異步來輔助

          事件循環

                  同步進入主線程,異步進入任務隊列,主線程內的任務執行完畢為空,就去任務隊列讀取對應的函數,進入主線程執行

          執行順序:
                  一:先執行所有的同步任務(log)
                  二:執行完畢再去執行第一個宏任務
                  三:執行第一個宏任務時,先看有沒有需要執行的‘微任務,如果有就執行,沒有就執行‘宏任務’        








          藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請掃碼藍小助,報下信息,藍小助會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系。

          分享此文一切功德,皆悉回向給文章原作者及眾讀者.

          轉自:csdn
          免責聲明:藍藍設計尊重原作者,文章的版權歸原作者。如涉及版權問題,請及時與我們取得聯系,我們立即更正或刪除。

          藍藍設計www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務


          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://www.syprn.cn

          存檔

          亚洲va欧美va天堂v国产综合