10 個你需要了解的最佳 javascript 開發實踐
原文:Top 10 “Must Follow” JavaScript Best Practices
Javascript 的很多擴充套件的特性是的它變得更加的犀利, 同時也給予程式設計師機會建立更漂亮並且更讓使用者喜歡的網站。
儘管很多的開發人員都樂於頌揚 javascript,但是仍舊有人看到它的陰暗面。
使用很多 javascript 程式碼的 web 頁面會載入很慢,過多的使用 javascript 使得網頁醜陋和拖沓。很快如何有效地使用 javascript 成為一個非常火熱的話題。
這裡讓我們列出 10 個最佳 javascript 實踐,幫助你有效地使用 javascript。
1. 儘可能的保持程式碼簡潔
可能大家都聽到過了N遍這個程式碼簡潔問題了。作為一個開發人員你可能在你的程式碼開發過程中使用了很多次,但千萬不要在 js 開發中忘記這點。
- 儘量在開發模式中新增註釋和空格,這樣保持程式碼的可讀性
- 在釋出到產品環境前請將空格和註釋都刪除,並且儘量縮寫變數和方法名
- 使用第三方工具幫助你實現壓縮 javascript。
2. 思考後再修改 prototypes
新增新的屬性到物件 prototype 中是導致指令碼出錯的常見原因。
yourObject.prototype.anotherFunction = ‘Hello’; yourObject.prototype.anotherMethod = function () { … };
在上面程式碼中,所有的變數都會被影響,因為他們都繼承於 yourObject
。這樣的使用會導致意想不到的行為。所以建議在使用完後刪除類似的修改。
yourObject.prototype.anotherFunction = ‘Hello’; yourObject.prototype.anotherMethod = function () { … }; test.anotherMethod(); delete yourObject.prototype.anotherFunction = ‘Hello’; delete yourObject.prototype.anotherMethod = function () { … };
3. Debug Javascript 程式碼
即使最好的開發人員都會犯錯。為了最大化的減少類似錯誤,請在你的 debugger 中執行你的程式碼,確認你沒有遇到任何細微的錯誤
4. 避免 Eval
你的 JS 在沒有 eval
方法的時候也可以很好的工作。eval
允許訪問
javascript 編譯器。如果一個字串作為引數傳遞到 eval
,那麼它的結果可以被執行。
這會很大的降低程式碼的效能。儘量避免在產品環境中使用 eval
。
5. 最小化 DOM 訪問
DOM 是最複雜的 API,會使得程式碼執行過程變慢。有時候 web 頁面可能沒有載入或者載入不完整。最好避免 DOM。
6. 在使用 javascript 類庫之前先學習 javascript
網際網路充斥著很多的 javascript 類庫,很多程式設計師都往往使用 js 類庫而不理解負面影響。強烈建議你在使用第三方類庫之前學習基本的 JS 程式碼,否則,你就準備著倒黴吧。
7. 不要用 "SetTimeOut" 和 "Setinterval" 方法來作為 "Eval" 的備選
setTimeOut( "document.getID('value')", 3000);
在以上程式碼中 document.getID('value')
在 setTimeOut
方法中被作為字串來處理。
這類似於 eval
方法,在每個程式碼執行中來執行一個字串,因此會降低效能,因此,建議在這些方法中傳遞一個方法。
setTimeOut(yourFunction, 3000);
8. [] 比 new Array(); 更好
一個常犯的錯誤在於使用當需要陣列的時候使用一個物件或者該使用物件的時候使用一個陣列。但是使用原則很簡單:
“當屬性名稱是小的連續整數,你應該使用陣列。否則,使用一個物件” - Douglas Crockford, JavaScript: Good Parts 的作者.
建議:
var a = ['1A','2B'];
避免:
var a = new Array();
a[0] = "1A";
a[1] = "2B";
9. 儘量不要多次使用 var
在初始每一個變數的時候,程式設計師都習慣使用 var
關鍵字。相反,建議你使用逗號來避免多餘的關鍵字,並且減少程式碼體積。 如下:
var variableOne = ‘string 1’, variableTwo = ‘string 2’, variableThree = ‘string 3’;
10. 不要忽略分號 ";"
這往往是大家花費數個小時進行 debug 的原因之一。
我很確信你肯定也在其它的文章中閱讀過以上相關的內容,但是大家可能往往都忽略了很多基本的規則。 你是不是也曾經忽略過分號。是不是也遇到過 eval
關鍵字問題導致效能問題?
希望大家能夠喜歡,謝謝!
相關閱讀
相關書籍
相關文章
- JavaScript 開發最佳實踐JavaScript
- 實踐中悟出的最佳JavaScript開發JavaScript
- 軟體開發中的10個最佳實踐技巧!
- 24個javascript最佳實踐JavaScript
- 移動 Web 開發的10個最佳 JavaScript 框架WebJavaScript框架
- JavaScript 最佳實踐JavaScript
- Laravel 開發最佳實踐Laravel
- REST開發最佳實踐REST
- 130 個你需要了解的 vim 命令
- 谷歌 Web 開發最佳實踐手冊(0):你的首個多屏網站谷歌Web網站
- 企業需要知道的5個 IAM 最佳實踐
- 有效的微服務:10 個最佳實踐微服務
- JavaScript最佳實踐:效能JavaScript
- 10個你在JavaScript面試前需要掌握的概念JavaScript面試
- 軟體開發和測試的 30 個最佳實踐
- 10 個你需要了解的 Linux 網路和監控命令Linux
- JavaScript 最佳實踐:幫你提升程式碼質量JavaScript
- 每個開發人員都需要了解的一個SQL技巧SQL
- 最佳實踐(1):安卓開發安卓
- 軟體開發最佳實踐
- 45個實用的JavaScript技巧、竅門和最佳實踐JavaScript
- Laravel 你應該知道的幾個最佳實踐Laravel
- 10個專案文件最佳實踐
- 10 個專案文件最佳實踐
- 45個有用的JavaScript技巧,竅門和最佳實踐JavaScript
- 10個精妙的Java編碼最佳實踐Java
- 六款你需要了解的實用軟體
- 軟體開發的10個錯誤實踐
- 最佳實踐(2):iOS開發篇iOS
- CSS最佳實踐團隊開發CSS
- 物聯網開發最佳實踐
- 超過 130 個你需要了解的 vim 命令
- 超過130個你需要了解的vim命令
- 2015年10個最佳Web開發JavaScript庫WebJavaScript
- 10個Spring Boot效能最佳實踐Spring Boot
- 作為一個開發人員,你需要了解的一些HTTP基礎知識HTTP
- 注意啦!10 個你需要了解的 Linux 網路和監控命令Linux
- 處理Java異常的10個最佳實踐Java