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