首頁 > web前端 > js教程 > 主體

JavaScript的團隊程式設計規範

黄舟
發布: 2016-12-20 15:33:05
原創
1099 人瀏覽過

本規範是針對javascript函數式程式設計風格與公司嚴重依賴jQuery進行編碼的現實制定出來。

禁止使用eval,with與caller(ecma262 v5 的use strict要求)。 eval只允許在加密時機器產生。

宣告變數必須加上 var 關鍵字,除了在for(;;)迴圈等語句中,原則上不允許使用連續宣告。因為連 續聲明的效率不如分開聲明高,而且很容易手誤致其暴露到全局作用域下。

常量,全部大寫。

變數名,不能使用拼音,英文單字以駝峰風格組織起來。

分號,能加的地方都加(基本上除了for, function, if, switch, try, while外),防止因為這個問題導致壓縮失敗。

自訂類,只能用於UI庫的構建,業務代碼不准私密自訂類。

原則上不允許使用偽物件(String, Number,Boolean),直接用其字面量。

原則上不允許使用Array與Object,直接用其字面量[], {}。

謹慎處理this,防止綁定失效,指向window,建議使用that引用它。

若想調用函數自身,禁止使用命名函數表達式,在目標函數的第一行編寫以下程式碼實現,詳解請google 《命名函數表達式揭秘》:

var self = arguments.callee;
登入後複製

禁止擴展原生對象的原型,特別是Object.prototype。

禁止在頁面上對某個元素綁定事件,即下面的程式碼風格:

<a href="http://www.php1.cn/">简明现代魔法</a>
登入後複製

禁止使用IE的條件註釋,一壓縮就沒有了。

var f = function () {
    /*@cc_on if (@_jscript) { return 2* @*/  3; /*@ } @*/
};
登入後複製

禁止區塊內函數聲明,詳解請google《命名函數表達式揭秘》。

if (x) { //ng
  function foo() {}
}
  
if (x) {
  var foo = function() {}
}
登入後複製

for-in 循環只能用於object。

禁止使用多行字串,因為在編譯時, 不能忽略行起始位置的空白字元; "" 後的空白字元會產生奇怪的錯誤; 雖然大多數腳本引擎支援這種寫法, 但它不是ECMAScript的標準規範。

var myString = &#39;A rather long string of English text, an error message \
                actually that just keeps going and going -- an error \
                message to make the Energizer bunny blush (right through \
                those Schwarzenegger shades)! Where was I? Oh yes, \
                you\&#39;ve got an error and all the extraneous whitespace is \
                just gravy.  Have a nice day.&#39;;
登入後複製

則上不允許字串拼接HTML程式碼,請使用前台範本或背景範本。

字串字面量,使用' 優於"。

註釋,使用JSDoc。

每一行不宜過長,寫完一段程式碼後請用IDE把它格式化一下。

為元素添加自訂變數,統一使用"data-"前綴,放便與HTML5的"data-*"機制相銜接。 ,類別選擇器,標籤選擇器,慎用子元素結構偽類別與位置偽類別(nth- child,:first,:eq,:gt)

在已有jQuery物件搜尋附近的元素節點,不建議使用多層次的find尋找,而使用相關的遍歷函數。優先使用類別庫中的函數)。像是mousewheel事件只能藉助插件。

不在JS檔案中留下未來確定不再使用的程式碼片段。調整樣式時把它誤刪了。請求與執行回調相分離,我們使用dependBy函數,這樣就有效避免多層嵌套的回調,讓程式碼的易懂性大大提高。

 以上就是JavaScript的團隊程式設計規格 的內容,更多相關內容請追蹤PHP中文網(m.sbmmt.com)!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板