---
# System prepended metadata

title: 如何編寫高性能的 Javascript？
tags: [frontend]

---

# 如何編寫高性能的 Javascript？

###### tags: `frontend`

## 加載和執行（Loading and Execution）
1. ```</body>```閉合標籤之前，將所有的```<script>```標籤放到頁面的底部。這能確保在腳本執行前頁面已經完成了渲染。
2. 合併腳本。頁面中的```<script>```標籤越少，加載也就越快，響應也更迅速。無論外鏈文件還是內嵌腳本都是如此。

## DOM
1. 如果需要多次訪問某個DOM節點，請使用局部變量存儲它的引用

## 算法和流程控制
1. for、while和do-while循環性能特性相當，並沒有一種循環類型明顯快於或慢於其他類型
2. 避免使用for-in循環，除非你需要遍歷一個屬性數量未知的對象
3. 通常來說，switch總是比if-else快
4. 在判斷條件較多時，使用查找表比if-else和switch更快

## 運算符
盡可能使用```===```這個嚴格比較操作符而不是```==```操作符。使用嚴格比較操作符能夠避免編譯器進行類型推導與轉換，從而提高一定的性能。

