摘要:布局性能優化頁面性能優化函數節流一個函數執行一次后只有大于設定的執行周期才會執行第二次函數防抖一個需要頻繁觸發的函數只有在規定時間內只讓最后一次生效前面的不生效資源壓縮與合并壓縮壓縮壓縮文件合并與壓縮非核心代碼異步加載利用瀏覽器緩存預解析
當執行JS代碼時,會生成執行環境,代碼不是在全局執行環境中,就是在函數執行環境中.
JS解釋器在解釋一段代碼時,第一階段:對于var 會先找出來進行變量提升,給它們在內存提前開辟好空間,函數的話會將整個函數存入內存中,變量只聲明并且賦值為undefined,第二階段,代碼執行.
call和apply都可以解決this指向,作用域是相同的,傳參的方式不同.call可以接收一個參數列表,apply只接收一個參數數組.bind方法會返回一個函數,且通過bind實現柯里化.
1.css樣式表放在頁面頭部Header內且Link鏈式接入,javaScript放在底部body結束標簽前避免堵塞.
2.代碼壓縮:html/css/js/圖片進行壓縮,圖片預加載,懶加載,圖片加載使用TinyPNG.
3.減少DOM元素數量且減少使用:after等偽類的使用,有效避免頁面重繪/重排.
4.不常變動的靜態資源采用CDN分發,img標簽設置高寬,減少頁面重排/重繪,使用WebP格式圖片,對原圖進行98%壓縮.
5.域名拆分:增加了瀏覽器請求的并發數,讓瀏覽器能同時發起更多的請求,解決默認攜帶的Cookie問題,減少數據傳輸字節.
通常分為三類:前端類:業務代碼本身html,css,js,圖片等. 靜態類:CDN資源類 動態類:后端API接口類.
6.合理使用dns-prefetch, prefetch,preload,defer,async;
執行上下文,尤其是詞法作用域和閉包.提升機制,函數與塊級作用域,以及函數表達式和聲明
綁定,特別是bind,apply,this關鍵字,對象原型,構造函數和mixins,組合函數和高階函數.
時間委托和冒泡,typeof instanceof和object.prototype,toString
使用回調,promiss和await和async處理異步調用.使用函數聲明和表達式
如何遍歷和操作DOM,包括使用document.querySelector和舊瀏覽器中的document.getElementsByTagName選擇或查找節點。上下遍歷(Node.parentNode,Node.firstChild,Node.lastChild和Node.childNodes),左右遍歷(Node.previousSibling和Node.nextSibling)在DOM樹中添加,刪除,復制和創建節點,以及切換,刪除或添加CSS類名等操作。
布局
頁面性能優化
(1)函數節流:一個函數執行一次后,只有大于設定的執行周期才會執行第二次. (2)函數防抖:一個需要頻繁觸發的函數,只有在規定時間內,只讓最后一次生效,前面的不生效. (3)資源壓縮與合并(html壓縮,css壓縮,js壓縮,文件合并與壓縮) (4)非核心代碼異步加載 (5)利用瀏覽器緩存. (6)預解析DNS.
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/101753.html
摘要:中使用操作符具體做了哪些事情創建了一個空對象空對象的屬性指向構造函數的屬性執行構造函數,將的指向前端面試題及答案瀏覽器篇前端面試題及答案篇前端面試題及答案篇前端面試題及答案性能優化篇 這篇文章并不是最全的前端面試題(沒有最全,只有更全),只是針對自己面試過程中遇到的一些難題、容易忽略的題做一個簡單的筆記,方便后面有面試需要的小伙伴們借鑒,后續內容會不定時更新,有錯誤之處希望大家不吝指出...
摘要:在標簽中添加屬性,本質上是跟在標簽里面寫屬性時一樣的,所以屬性值最終都會編譯為字符串類型。這個節點包括很多,比如,以及一些方法等方法。一個對象有很多,該集合名字為,里面有其他以及,里面有很多。 一、變量類型和計算 JS中使用typeof能得到哪些類型 變量類型 值類型:變量本身就是含有賦予給它的數值的,它的變量本身及保存的數據都存儲在棧的內存塊當中 引用類型:引用類型當然是分配到...
閱讀 2081·2023-04-25 19:03
閱讀 1230·2021-10-14 09:42
閱讀 3411·2021-09-22 15:16
閱讀 951·2021-09-10 10:51
閱讀 1564·2021-09-06 15:00
閱讀 2405·2019-08-30 15:55
閱讀 489·2019-08-29 16:22
閱讀 896·2019-08-26 13:49