JavaScript的高效優(yōu)化一直都是我們前端開發(fā)中非常重要的工作,也是很多開發(fā)人員無法做好的一部分內(nèi)容,所以今天我總結(jié)了10個優(yōu)化問題,大家可以參考來做優(yōu)化,大部分問題都是大家常遇到的。1、何時用單引號,何時用雙引號
在JavaScript當(dāng)中,雖然雙引號和單引號都可以用來表示字符串, 但是為了避免混亂,所以我們建議在HTML中使用雙引號,在JavaScript中使用單引號。不過為了與各種瀏覽器兼容并避免解析錯誤,在定義JSON對象時最好使用雙引號。2、= =和= = =之間的區(qū)別
應(yīng)避免在if和while條件選擇語句中的條件判斷部分進(jìn)行賦值,如if (a = b),應(yīng)寫成if (a == b),但是在比較是否相等的情況下,最好使用全等運算符,也就是使用===和!==運算符對比==和!=會好點。因為==和!=運算符會進(jìn)行強制類型轉(zhuǎn)換。3、經(jīng)常檢查數(shù)據(jù)類型
要檢查你的方法傳入的參數(shù),一方面是安全性,另一方面是可實用性。用戶隨時都有可能會誤操作傳入錯誤的數(shù)據(jù)。這不是因為他們的問題,而是因為他們的思維方式和使用習(xí)慣和你不一樣。所以可以使用typeof方法可以幫助你檢測function接受的參數(shù)是否合法。4、函數(shù)返回統(tǒng)一類型
雖然JavaScript是弱類型的,在函數(shù)里,前面返回是整數(shù)型數(shù)據(jù),后面返回布爾值都可以正常的編譯和運行的,但為了規(guī)范和后期維護(hù),應(yīng)保證函數(shù)返回統(tǒng)一的數(shù)據(jù)類型。5、不要使用生偏語法
不要使用偏見語法,寫一些令人困惑的代碼。雖然計算機(jī)可以正常識別和運行,但這些難理解的代碼不便于以后的維護(hù)。6、刪除DOM節(jié)點
刪除DOM節(jié)點之前,記住要刪除注冊在該節(jié)點上的事件,不管是用observe方式還是用attachEvent方式來注冊的事件,否則會出現(xiàn)無法回收的內(nèi)存。此外,在removeChild和innerHTML=’ ’這兩個,盡量選擇第二個. 因為在sIEve(內(nèi)存泄露監(jiān)測工具)中監(jiān)測的結(jié)果是用removeChild無法有效地釋放DOM節(jié)點。7、插入迭代器
如var name=values[i]; i++;這兩條語句可以寫成var name=values[i++]8、浮點數(shù)轉(zhuǎn)換成整型
很多人經(jīng)常喜歡使用parseInt()來做轉(zhuǎn)成整數(shù),其實parseInt()是用于將字符串轉(zhuǎn)換成整數(shù)的,而不是用于浮點數(shù)和整型之間轉(zhuǎn)換的。浮點轉(zhuǎn)整型我們應(yīng)該使用Math.floor()或者M(jìn)ath.round()9、多個類型聲明
在JavaScript中所有變量都可以使用單個var語句來聲明,這樣就是組合在一起的語句,可以減少整個腳本的執(zhí)行時間。10、避免雙重解釋
要提高代碼性能,就盡可能避免出現(xiàn)需要按照J(rèn)avaScript解釋的字符串,也就是:
①.盡可能少使用eval函數(shù)
使用eval相當(dāng)于在運行時再次調(diào)用解釋引擎對內(nèi)容進(jìn)行運行,需要消耗大量時間。同時,使用Eval帶來的安全性問題也是不容忽視的。
②.不使用Function構(gòu)造器
不要給setTimeout或者setInterval傳遞字符串參數(shù)
分享文章:前端開發(fā)中10個有關(guān)JavaScript優(yōu)化問題
文章起源:http://m.rwnh.cn/news47/249947.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、商城網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計公司、軟件開發(fā)、云服務(wù)器
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源:
創(chuàng)新互聯(lián)