前端開發規範(四、JS篇)

前端開發規範(四、JS篇)

前端開發規範(四、JS篇)

通用約定

註釋

原則

  • As short as possible(如無必要,勿增註釋):儘量提高代碼本身的清晰性、可讀性。
  • As long as necessary(如有必要,儘量詳盡):合理的註釋、空行排版等,可以讓代碼更易閱讀、更具美感。

單行註釋

必須獨佔一行。// 後跟一個空格,縮進與下一行被註釋說明的代碼一致。

多行註釋

避免使用 /…/ 這樣的多行註釋。有多行註釋內容時,使用多個單行註釋。

函數/方法註釋

函數/方法註釋必須包含函數說明,有參數和返回值時必須使用註釋標識。;

參數和返回值註釋必須包含類型信息和說明;

當函數是內部函數,外部不可訪問時,可以使用 @inner 標識;

前端開發規範(四、JS篇)

文件註釋

文件註釋用於告訴不熟悉這段代碼的讀者這個文件中包含哪些東西。 應該提供文件的大體內容, 它的作者, 依賴關係和兼容性信息。如下:

前端開發規範(四、JS篇)

命名

變量, 使用 Camel 命名法。

前端開發規範(四、JS篇)

私有屬性、變量和方法以下劃線 _ 開頭。

前端開發規範(四、JS篇)

常量, 使用全部字母大寫,單詞間下劃線分隔的命名方式。

前端開發規範(四、JS篇)

函數, 使用 Camel 命名法。

函數的參數, 使用 Camel 命名法。

前端開發規範(四、JS篇)

類, 使用 Pascal 命名法

類的 方法 / 屬性, 使用 Camel 命名法

前端開發規範(四、JS篇)

枚舉變量 使用 Pascal 命名法。

枚舉的屬性, 使用全部字母大寫,單詞間下劃線分隔的命名方式。

前端開發規範(四、JS篇)

由多個單詞組成的 縮寫詞,在命名中,根據當前命名法和出現的位置,所有字母的大小寫與首字母的大小寫保持一致。

前端開發規範(四、JS篇)

命名語法

類名,使用名詞。

前端開發規範(四、JS篇)

函數名,使用動賓短語。

前端開發規範(四、JS篇)

boolean 類型的變量使用 is 或 has 開頭。

前端開發規範(四、JS篇)

Promise 對象用動賓短語的進行時表達。

前端開發規範(四、JS篇)

接口命名規範

可讀性強,見名曉義;

儘量不與 jQuery 社區已有的習慣衝突;

儘量寫全。不用縮寫,除非是下面列表中約定的;(變量以表達清楚為目標,uglify 會完成壓縮體積工作)

前端開發規範(四、JS篇)

True 和 False 布爾表達式

類型檢測優先使用 typeof。對象類型檢測使用 instanceof。null 或 undefined 的檢測使用 == null。

下面的布爾表達式都返回 false:

  • null
  • undefined
  • ‘’ 空字符串
  • 0 數字0

但小心下面的, 可都返回 true:

  • ‘0’ 字符串0
  • [] 空數組
  • {} 空對象

不要在 Array 上使用 for-in 循環

for-in 循環只用於 object/map/hash 的遍歷, 對 Array 用 for-in 循環有時會出錯. 因為它並不是從 0 到 length - 1 進行遍歷, 而是所有出現在對象及其原型鏈的鍵值。

前端開發規範(四、JS篇)

二元和三元操作符

操作符始終寫在前一行, 以免分號的隱式插入產生預想不到的問題。

前端開發規範(四、JS篇)

條件(三元)操作符 (?:)

三元操作符用於替代 if 條件判斷語句。

前端開發規範(四、JS篇)

&& 和 ||

二元布爾操作符是可短路的, 只有在必要時才會計算到最後一項。

前端開發規範(四、JS篇)


分享到:


相關文章: