閱讀249 返回首頁    go 技術社區[雲棲]


JavaScript 代碼規範

所有的 JavaScript 項目適用同一種規範

JavaScript 代碼規範

代碼規範通常包括以下幾個方麵:

變量和函數的命名規則

空格,縮進,注釋的使用規則

其他常用規範……

規範的代碼可以更易於閱讀與維護

代碼規範一般在開發前規定,可以跟你的團隊成員來協商設置

變量名

變量名推薦使用駝峰法來命名(camelCase):

firstName = "John";
lastName = "Doe";

空格與運算符

通常運算符 ( = + - * / ) 前後需要添加空格:

var x = y + z;
var values = ["Volvo", "Saab", "Fiat"];

代碼縮進

通常使用 4 個空格符號來縮進代碼塊:

注意:不推薦使用 TAB 鍵來縮進,因為不同編輯器 TAB 鍵的解析不一樣

語句規則

簡單語句的通用規則:

一條語句通常以分號作為結束符

複雜語句的通用規則:

將左花括號放在第一行的結尾

左花括號前添加一空格

將右花括號獨立放在一行

不要以分號結束一個複雜的聲明

對象規則

對象定義的規則:

將左花括號與類名放在同一行。

冒號與屬性值間有個空格。

字符串使用雙引號,數字不需要。

最後一個屬性-值對後麵不要添加逗號。

將右花括號獨立放在一行,並以分號作為結束符號

var person = {
    firstName: "John",
    lastName: "Doe",
    eyeColor: "blue"
};

短的對象代碼可以直接寫成一行,,為了便於閱讀每行字符建議小於數 80 個,如果一個 JavaScript 語句超過了80個字符建議在運算符或者逗號後換行

命名規則

一般很多代碼語言的命名規則都是類似的,例如:

變量和函數為駝峰法( camelCase)

全局變量為大寫 (UPPERCASE )

常量 (如 PI) 為大寫 (UPPERCASE )

變量命名你是否使用這幾種規則: hyp-hens, camelCase, 或under_scores ?

HTML 和 CSS 的橫杠(-)字符:

HTML5 屬性可以以 data- (如:data-quantity, data-price) 作為前綴。

CSS 使用 - 來連接屬性名 (font-size)。

注意:- 通常在 JavaScript 中被認為是減法,所以不允許使用。

下劃線:

很多程序員比較喜歡使用下劃線(如:date_of_birth), 特別是在 SQL 數據庫中。

PHP 語言通常都使用下劃線。

帕斯卡拚寫法(PascalCase):

帕斯卡拚寫法(PascalCase) 在 C 語言中語言較多。

駝峰法:

JavaScript 中通常推薦使用駝峰法,jQuery 及其他 JavaScript 庫都使用駝峰法。

注意:變量名不要以 $ 作為開始標記,會與很多 JavaScript 庫衝突

HTML 載入外部 JavaScript 文件

使用簡潔的格式載入 JavaScript 文件 ( type 屬性不是必須的):

<script src="myscript.js">

HTML 與 JavaScript 盡量使用相同的命名規則

文件擴展名

HTML 文件後綴可以是 .html (或r .htm)。

CSS 文件後綴是 .css 。

JavaScript 文件後綴是 .js

使用小寫文件名

大多 Web 服務器 (Apache, Unix) 對大小寫敏感: london.jpg 不能通過 London.jpg 訪問。你必須保持統一的風格,我們建議統一使用小寫的文件名

javascript:void(0) 含義

我們經常會使用到 javascript:void(0) 這樣的代碼,那麼在 JavaScript 中 javascript:void(0) 代表的是什麼意思呢?

javascript:void(0) 中最關鍵的是 void 關鍵字,void 是 JavaScript 中非常重要的關鍵字,該操作符指定要計算一個表達式但是不返回值

當用戶鏈接時,void(0) 計算為 0,但 Javascript 上沒有任何效果

href="#"與href="javascript:void(0)"的區別

#包含了一個位置信息,默認的錨是#top 也就是網頁的上端。而javascript:void(0), 僅僅表示一個死鏈接。在頁麵很長的時候會使用 # 來定位頁麵的具體位置,格式為:# + id。

如果你要定義一個死鏈接請使用 javascript:void(0)

最後更新:2017-05-31 15:01:32

  上一篇:go  《Spring攻略(第2版)》——1.2 配置Spring IoC容器中的Bean
  下一篇:go  《Spring攻略(第2版)》——第1章 Spring簡介 1.1實例化Spring IoC容器