課程簡(jiǎn)介
JavaScript 已經(jīng)成為目前最為流行的前端開(kāi)發(fā)語(yǔ)言,但是在使用過(guò)程中由于瀏覽器的工作
方式不同,JavaScript 代碼執(zhí)行性能有很大差別。本課程將就常見(jiàn)的性能相關(guān)問(wèn)題張開(kāi)介
紹,并著重介紹如何進(jìn)行優(yōu)化的 JavaScript 性能開(kāi)發(fā)。]
目標(biāo)收益
深入了解 JavaScript 工作方式
掌握如何基于不同瀏覽器性能最優(yōu)的編寫(xiě) JavaScript
使用 chrome dev 等工具進(jìn)行性能調(diào)試
培訓(xùn)對(duì)象
使用 JavaScript 的前端開(kāi)發(fā)人員
課程大綱
瀏覽器工作方式介紹 |
HTML 引擎工作方式及特點(diǎn) JavaScript 引擎工作方式及特點(diǎn) 常見(jiàn)瀏覽器廠商的產(chǎn)品特性 移動(dòng)端瀏覽器行為的特點(diǎn) |
JavaScript 代碼優(yōu)化 |
加載與執(zhí)行 JavaScript 腳本的加載和執(zhí)行是阻塞模式,為了提高性能應(yīng)該調(diào)節(jié)加載位置和順序。 數(shù)據(jù)訪問(wèn) JavaScript 中使用不同的數(shù)據(jù)類(lèi)型來(lái)存儲(chǔ)數(shù)據(jù),會(huì)有完全不同的執(zhí)行性能,這里專(zhuān)注介紹該使用何種方 式進(jìn)行數(shù)據(jù)存儲(chǔ)以提高性能 DOM 元素的遍歷 專(zhuān)門(mén)介紹針對(duì)不同瀏覽器該使用何種方式來(lái)遍歷頁(yè)面元素以提高性能 流程控制優(yōu)化 算數(shù)表達(dá)式和流程控制部分介紹通過(guò)優(yōu)化循環(huán)和比較流程優(yōu)化程序性能 響應(yīng)模式優(yōu)化 開(kāi)發(fā)體驗(yàn)中最糟糕的莫過(guò)于點(diǎn)擊頁(yè)面無(wú)響應(yīng),此內(nèi)容介紹如何提 UI 響應(yīng)性能機(jī)制 |
JavaScript 代碼組織方式介紹 |
JavaScript 與面向?qū)ο?br/>使用 function 在 ECMAScript 5 規(guī)范下模擬類(lèi)和繼承 ECMAScript 6 嚴(yán)格語(yǔ)法模式中接口的定義與實(shí)現(xiàn) AMD 異步模塊定義的使用 MVC 模型框架與實(shí)現(xiàn) MVP 模型框架與實(shí)現(xiàn) JavaScript 的模塊化 與動(dòng)態(tài)裝載管理 |
JavaScript 開(kāi)發(fā)工具與調(diào)試工具介紹 |
Chrome 調(diào)試工具介紹 使用 Jasmine+Karma 進(jìn)行單元測(cè)試 使用 selenium 進(jìn)行 E2E 測(cè)試 |
瀏覽器工作方式介紹 HTML 引擎工作方式及特點(diǎn) JavaScript 引擎工作方式及特點(diǎn) 常見(jiàn)瀏覽器廠商的產(chǎn)品特性 移動(dòng)端瀏覽器行為的特點(diǎn) |
JavaScript 代碼優(yōu)化 加載與執(zhí)行 JavaScript 腳本的加載和執(zhí)行是阻塞模式,為了提高性能應(yīng)該調(diào)節(jié)加載位置和順序。 數(shù)據(jù)訪問(wèn) JavaScript 中使用不同的數(shù)據(jù)類(lèi)型來(lái)存儲(chǔ)數(shù)據(jù),會(huì)有完全不同的執(zhí)行性能,這里專(zhuān)注介紹該使用何種方 式進(jìn)行數(shù)據(jù)存儲(chǔ)以提高性能 DOM 元素的遍歷 專(zhuān)門(mén)介紹針對(duì)不同瀏覽器該使用何種方式來(lái)遍歷頁(yè)面元素以提高性能 流程控制優(yōu)化 算數(shù)表達(dá)式和流程控制部分介紹通過(guò)優(yōu)化循環(huán)和比較流程優(yōu)化程序性能 響應(yīng)模式優(yōu)化 開(kāi)發(fā)體驗(yàn)中最糟糕的莫過(guò)于點(diǎn)擊頁(yè)面無(wú)響應(yīng),此內(nèi)容介紹如何提 UI 響應(yīng)性能機(jī)制 |
JavaScript 代碼組織方式介紹 JavaScript 與面向?qū)ο?br/>使用 function 在 ECMAScript 5 規(guī)范下模擬類(lèi)和繼承 ECMAScript 6 嚴(yán)格語(yǔ)法模式中接口的定義與實(shí)現(xiàn) AMD 異步模塊定義的使用 MVC 模型框架與實(shí)現(xiàn) MVP 模型框架與實(shí)現(xiàn) JavaScript 的模塊化 與動(dòng)態(tài)裝載管理 |
JavaScript 開(kāi)發(fā)工具與調(diào)試工具介紹 Chrome 調(diào)試工具介紹 使用 Jasmine+Karma 進(jìn)行單元測(cè)試 使用 selenium 進(jìn)行 E2E 測(cè)試 |