年前整理的Js規範
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;
? 為獲取最大化的可移植性和相容性,程式碼中應使用標準中支援的方式來書寫程式碼。
基本約定
? 每句程式碼後(必須)加";"
? 變數:使用變數前必須宣告,採用駱駝峰的命名且首字母小寫, 變數宣告必須加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;
? 為獲取最大化的可移植性和相容性,程式碼中應使用標準中支援的方式來書寫程式碼。
相關文章
- 年前整理的Css規範CSS
- 年前整理的C#規範C#
- 回顧兩年前整理的前端規範前端
- 程式碼規範整理
- 前端開發規範:命名規範、html規範、css規範、js規範前端HTMLCSSJS
- JS規範JS
- 前端規範之nodeJs 規範前端NodeJS
- 自己整理的java程式設計規範Java程式設計
- Commonjs規範JS
- JS模組化規範JS
- JS程式碼規範JS
- JSR規範列表JS
- Css規範整理:2、css盒模型CSS模型
- 前端單體編碼規範整理前端
- C#規範整理·集合和LinqC#
- Css規範整理:1、佈局大綱CSS
- JS程式設計規範JS程式設計
- amd規範&require.jsUIJS
- js AMD規範介紹JS
- 改修jquery支援cmd規範的seajsjQueryJS
- C#規範整理·泛型委託事件C#泛型事件
- PEP 8-Python編碼規範整理Python
- CommonJs載入規範JS
- JS變數與命名規範JS變數
- HTML/CSS/JS編碼規範HTMLCSSJS
- React/JSX 編碼規範ReactJS
- CommonJS Modules/1.0 規範JS
- require.js載入非規範的模組UIJS
- Node.js + ELK 日誌規範Node.js
- Commonjs規範與模組化JS
- 簡要理解CommonJS規範JS
- 前端工程程式碼規範(四)——JS前端JS
- Vue.js 元件編碼規範Vue.js元件
- [譯]AngularJS Git提交資訊規範AngularJSGit
- js正規表示式例項(整理)JS
- 基於專案實戰整理的一份 Flutter 程式碼規範與目錄規範v1.0Flutter
- MySQL資料庫規範 (設計規範+開發規範+操作規範)MySql資料庫
- 實現 CommonJs 規範中的 Require 模組JSUI