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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                階段復習-前三周 ### 1\. ES6新語法 更加嚴謹 * let / const > 和ES5中的VAR的區別 > 1)let不存在變量提升機制(變量不允許在聲明之前使用) > 2)let不允許重復聲明 > 3)在全局作用域中基于let聲明的變量不是window的一個屬性,和他沒關系 > 4)typeof 未被聲明的變量 =>不是undefined而是報錯(暫時性死區) > 5)let會形成塊級作用域(類似于私有作用域,大部分大括號都會形成塊作用域) > … * 解構賦值 * “…” 拓展、剩余、展開運算符 * ES6中的模板字符串 * 箭頭函數 > 和普通函數的區別 > 1)沒有arguments,但是可以基于…arg獲取實參集合(結果是一個數組) > 2)沒有自己的this,箭頭函數中的this是上下文中的this * Promise(async/await) * class(ES6中創建類的) * interator(for of 循環) * Map / Set * … ### 2. 請說出你對 “重排(回流)和重繪讀寫分離” 的理解! > 思路: > 1.首先說出什么是重排和重繪 > 2.突出他們耗性能 > 3.突出自己寫項目的時候重點注意了這些事情,以及自己的解決方案(說一下解決原理) 瀏覽器渲染一個頁面的時候是按照“先創建DOM樹->在加載CSS->生成渲染樹 RENDER TREE->把渲染樹交給瀏覽器(GPU)進行繪制”,如果后期我們修改了元素的樣式(但是沒有改變大小和位置),瀏覽器會把當前元素重新生成渲染樹,然后重新渲染,這個機制是重繪,但是一旦元素的位置或者大小等發生改變,瀏覽器就要從DOM樹重新計算渲染,這個機制是回流(重排),不論是重排還是重繪都非常的消耗性能 在我的以前項目中,我特意的重視了這個問題,盡量減少操作DOM引發的回流和重繪問題,常用的解決方案: 1. 需要動態向頁面追加元素的時候,基于文檔碎片或者先把需要增加的所有元素拼接成字符串,最后統一進行增加 2. 讀寫分離:把統一修改樣式都放到一起執行,新版瀏覽器都有一個自己檢測的機制,如果發現下面緊挨著的操作也是修改元素的樣式,會把所有修改的事先存起來,直到遇到非修改樣式的操作,會把之前存儲的統一執行,引發一次回流和重繪 當然還有一些其它的辦法,這些是最常注意的,我認為減少DOM的回流重繪是非常重要的性能優化手段之一
                  <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>

                              哎呀哎呀视频在线观看