年前整理的Js規範

一劍平江湖發表於2014-02-10
JavaScript編碼規範
 基本約定  
? 每句程式碼後(必須)加";"
? 變數:使用變數前必須宣告,採用駱駝峰的命名且首字母小寫, 變數宣告必須加var關鍵字,嚴格控制作用域;
? 常量:採用全大寫的命名,且單詞以_分割,常量定義單詞全部大寫,以下劃線連線,但不要用const關鍵字來宣告,如:SOME_CONSTANTS;常量通常用於ajax請求url,和一些不會改變的資料
? 使用Function進行類的定義,(不推薦)繼承,如需繼承採用成熟的類庫實現繼承
? 儘量不使用with關鍵字,容易造成作用域混亂;
? this僅用於類成員函式或物件中;
? 通用全域性函式,特別是通用元件程式碼應將業務邏輯放入閉包中,並通過“名稱空間”將其引入;
? 若函式中使用到全域性變數,則訪問全域性變數時應使用window來引入
? 類中的成員變數使用建構函式來初始化;
? 除非是必須移除類的成員,否則解構函式中對成員的銷燬應通過將其設定為null,而不是用delete,因為重新賦值方式效能比用delete好;
? 避免通過prototype方式破壞內建物件原型鏈;
? 使用駝峰式命名變數和函式,如:functionNamesLikeThis, variableNamesLikeThis, ClassNamesLikeThis,namespaceNamesLikeThis;
? 私有成員變數和方法命名以下劃線開頭,如:var _this;
? 函式引數大於3個時,應以物件形式作為引數集傳遞;
? 禁止在程式碼塊中宣告函式,錯誤的範例:if (true) {function foo() {}};
? 直接定義陣列或物件,而不使用new關鍵字宣告,錯誤的範例:var a = new Array();var o = new Object();
? 使用單引號來定義字串;
? 檔名必須全部用小寫,檔名分隔符用中劃線連線,版本連線符用實心點,合併檔案的檔名連線符用下劃線,如:passport-core.min.js和reset-1.0_utils-1.0.css;
? 為獲取最大化的可移植性和相容性,程式碼中應使用標準中支援的方式來書寫程式碼。

相關文章