據說你在從事前端開發?那這10個JavaScript的優化問題你不得不知道!

JavaScript的高效優化一直都是咱們前端開發中很是重要的工做,也是不少開發人員沒法作好的一部份內容,今天我總結了10個優化問題,你們能夠參考來作優化,這其中不少問題都是你們常常遇到的哦。
圖片描述前端

==和===的區別

應避免在if和while條件選擇語句中的條件判斷部分進行賦值,如if (a = b),應寫成if (a == b),可是在比較是否相等的狀況下,最好使用全等運算符,也就是使用===和!==運算符對比==和!=會好點。由於==和!=運算符會進行強制類型轉換。瀏覽器

不要使用生偏語法

不要使用生偏語法,和寫一些讓人疑惑的代碼,雖然計算機能夠正常識別和運行,可是讓人難懂的代碼不方便後期維護。安全

函數返回統一類型

雖然JavaScript是弱類型的,在函數裏,前面返回是整數型數據,後面返回布爾值均可以正常的編譯和運行的,但爲了規範和後期維護,應保證函數返回統一的數據類型。函數

老是檢查數據類型

要檢查你的方法傳入的參數,一方面是安全性,另外一方面是可實用性。用戶隨時都有可能會誤操做傳入錯誤的數據。這不是由於他們的問題,而是由於他們的思惟方式和使用習慣和你不同。因此可使用typeof方法來幫助你檢測function接受的參數是否合法。工具

什麼時候用單引號,什麼時候用雙引號

在JavaScript當中,雖然雙引號和單引號均可以用來表示字符串, 可是爲了不混亂,因此咱們建議在HTML中使用雙引號,在JavaScript中使用單引號。不過爲了兼容各個瀏覽器,也爲了解析時不會出錯,定義JSON對象時,最好使用雙引號。性能

刪除DOM節點

刪除DOM節點以前,記住要刪除註冊在該節點上的事件,不論是用observe方式仍是用attachEvent方式來註冊的事件,不然會出現沒法回收的內存。此外,在removeChild和innerHTML=’ ’這兩個,儘可能選擇第二個. 由於在sIEve(內存泄露監測工具)中監測的結果是用removeChild沒法有效地釋放DOM節點。優化

多個類型聲明

在JavaScript中全部變量均可以使用單個var語句來聲明,這樣就是組合在一塊兒的語句,能夠減小整個腳本的執行時間。spa

插入迭代器

如var name=values[i]; i++;這兩條語句能夠寫成var name=values[i++]對象

浮點數轉換成整型

不少人常常喜歡使用parseInt()來作轉成整數,其實parseInt()是用於將字符串轉換成整數的,而不是用於浮點數和整型之間轉換的。浮點轉整型咱們應該使用Math.floor()或者Math.round()。blog

避免雙重解釋

要提升代碼性能,就儘量避免出現須要按照JavaScript解釋的字符串,也就是:

1.儘量少使用eval函數

使用eval至關於在運行時再次調用解釋引擎對內容進行運行,須要消耗大量時間。同時,使用Eval帶來的安全性問題也是不容忽視的。

2.不使用Function構造器

不要給setTimeout或者setInterval傳遞字符串參數
圖片描述

最後,建議你們永遠不要忽略代碼優化工做,重構是一項從項目開始到結束須要持續的工做,只有不斷的優化代碼才能讓代碼的執行效率愈來愈好。

相關文章
相關標籤/搜索