js程式碼優化 提高執行效能
1if-else 排序
在 React元件中,這種寫法還是很常見的。
export default function UserList(props) {
const { users } = props
if (users.length) {
return <UserList />
}
return <EmptyUserList />
}
在這裡,我們在沒有使用者時渲染否則渲染。 有大部分人認為,我們首先處理所有空的的情況,然後再處理有資料的情況。 對於任何讀過它的人來說都更清楚,而且效率更高。 也就是說,以下程式碼比上一個程式碼更有效。
export default function UserList(props) {
const { users } = props
if (!users.length) {
return <EmptyUserList />
}
// some resource intensive operation
return <UserList />
}
當然 users.length 一直有值的話,就使用第一種情況。
2執行時的求值的數量越少,效能就越好。
// maxWidth - (margin * 2)
const maxWidth = '980'
// minWidth - (margin * 2)
const minWidth = '80'
const margin = '10'
getWidth = () => ({
maxWidth,
minWidth,
})
3 延遲
延遲演算法將計算延遲到需要執行時才執行,然後生成結果。
const someFn = () => {
doSomeOperation()
return () => {
doExpensiveOperation()
}
}
const t = someArray.filter((x) => checkSomeCondition(x)).map((x) => someFn(x))
// 現在,如果有需要在執行
t.map((x) => t())
最快的程式碼是未執行的程式碼,所以儘量延遲執行。
4 JavaScript 使用原型繼承,JS 中所有物件都是Object的例項。
MDN說:
嘗試訪問物件的屬性時,不僅會在物件上搜尋該屬性,還會在物件的原型,原型的原型等上搜尋該屬性,直到找到匹配屬性名或原型鏈的末端。
對於每個屬性,JavaScript引擎都必須遍歷整個物件鏈,直到找到匹配項。 如果使用不當,這會佔用大量資源,並影響應用程式的效能。
所以不要這樣:
const name = userResponse.data.user.firstname + userResponse.data.user.lastname
而是這樣做:
const user = userResponse.data.user
const name = user.firstname + user.lastname
使用臨時變數來儲存連結的屬性,而不是遍歷訪問整條鏈。
相關文章
- Java效能優化:教你提高程式碼執行的效率Java優化
- 前端效能優化—js程式碼打包前端優化JS
- 前端效能優化 --- css和js的裝載與執行前端優化CSSJS
- Spark效能優化:提高並行度、使用reduceByKeySpark優化並行
- 提高程式碼的執行效率(1)
- 前端效能優化(JS/CSS優化,SEO優化)前端優化JSCSS
- Web程式效能優化——asm.js和WebAssemblyWeb優化ASMJS
- Python 程式碼的效能優化之道Python優化
- 祖傳程式碼如何優化效能?優化
- 淺談JavaScript程式碼效能優化JavaScript優化
- Cookbook:優化 Vue 元件的執行時效能優化Vue元件
- Java 執行緒與同步的效能優化Java執行緒優化
- 效能優化 (十) APP 持續執行之程式保活實現優化APP
- js效能優化淺析JS優化
- javascript執行緒及與執行緒有關的效能優化JavaScript執行緒優化
- C# 程式碼效能優化舉例C#優化
- 淺談JavaScript程式碼效能優化2JavaScript優化
- Apache ShardingSphere 5.1.0 執行引擎效能優化揭祕Apache優化
- 效能優化小冊 - 提高網頁響應速度:優化你的 CDN 效能優化網頁
- Vue.js 程式碼優化淺談Vue.js優化
- JS效能優化 之 FOR迴圈JS優化
- Redux + Immutable.js 效能優化ReduxJS優化
- 如何優化程式效能優化
- python效能優化之函式執行時間分析Python優化函式
- sql語句執行順序與效能優化(1)SQL優化
- 手把手提高基礎程式碼執行效率
- 提高網站訪問效能之Tomcat優化網站Tomcat優化
- 使用多執行緒提高rest服務效能執行緒REST
- JS效能優化 之 文件片段 createDocumentFragmentJS優化Fragment
- 前端效能優化:細說JavaScript的載入與執行前端優化JavaScript
- Java 效能調優:最佳化 GC 執行緒設定JavaGC執行緒
- 分支對程式碼效能的影響和優化優化
- 易優執行php程式碼-EyouCms手冊PHP
- CSAPP 5 - 優化程式效能APP優化
- [譯] 提高 10 倍效能:優化靜態網站優化網站
- JS 程式碼的簡單重構與優化JS優化
- webpack--效能優化之打包構建速度和程式碼除錯優化Web優化除錯
- Java多執行緒程式設計—鎖優化Java執行緒程式設計優化