JavaScript 程式碼規範
JavaScript檔案
#JavaScript程式應獨立儲存在後綴名為.js的檔案中。
JavaScript程式碼不應該被包含在HTML檔案中,除非這是段特定只屬於此部分的程式碼。在HTML中的JavaScript程式碼會明顯增加檔案大小,而且也不能對其進行快取和壓縮。
縮排
縮排的單位為四個空格。避免使用Tab鍵來縮排(即使現在已經是21世紀了),也始終沒有個統一的Tab長短標準。雖然使用空格會增加檔案的大小,但在區域網路中幾乎可以忽略,且在最小化過程中也可被消除掉。
每行長度
避免每行超過80個字元。當一條語句一行寫不下時,請考慮折行。在運算符號,最好是逗號後換行。在運算子後換行可以減少因為複製貼上產生的錯誤被分號掩蓋的幾率。下一行應該要縮排8個空格。
註解
不要吝嗇註解。給以後需要理解你的程式碼的人(或許就是你自己)留下訊息是非常有用的。註釋應該和它們所註釋的程式碼一樣是書寫良好且清晰明了。偶爾的小幽默就更不錯了。記得要避免冗長或情緒化。
及時更新註解也很重要。錯誤的註解會讓程式更加難以閱讀和理解。
變數宣告
所有的變數必須在使用前進行宣告。 JavaScript並不強制必須這麼做,但是這麼做可以讓程式易於閱讀,且也容易發現那些沒聲明的變數(它們會被編譯成全域變數)。
將var語句放在函數的首部。
最好把每個變數的宣告語句單獨放到一行,並加上註解說明。所有變數按照字母排序。
var currentEntry; // 目前選擇項目
var level; // 縮排程度
var size; // 表格大小
#函數宣告
所有的函數在使用前進行宣告。 內函數的宣告跟在var語句的後面。這樣可以幫助判斷哪些變數是在函數範圍內的。
函數名稱與((左括號)之間不應該有空格。)(右括號)與 開始程式體的{(左大括號)之間應插入一個空格。函數程式體應縮排四個空格。 }(右大括號)與宣告函數的那一行程式碼頭部對齊。
function outer(c, d) {
var e = c * d;
function inner(a, b) {
return (e * a) + b;
# }
return inner(0, 1);
}
#命名
變數名稱應由26個大小寫字母(A..Z,a..z),10個數字(0..9),和_(底線)組成。避免使用國際化字符(如中文),因為它們不是在任何地方都可以被方便的閱讀和理解。不要在命名中使用$(美元符號)或(反斜線)。
不要把_(底線)當作變數名的第一個字元。它有時用來表示私有變數,但實際上JavaScript並沒有提供私有變數的函數。如果私有變數很重要, 那麼使用私有成員的形式。應避免使用這種容易讓人誤解的命名習慣。
大多數的變數名稱和方法命應以小寫字母開頭。
必須與new共同使用的建構函式名稱應以大寫字母開頭。當new被省略時JavaScript不會有任何編譯錯誤或執行錯誤拋出。忘記加new時會讓不好的事情發生(比如被當成一般的函數),所以大寫構造函數名是我們來盡量避免這種情況發生的唯一辦法。
全域變數應該要全部大寫。 (JavaScript沒有巨集或常數,所以不會因此造成誤會)
#語句
簡單語句
#每一行最多只包含一條語句。把;(分號)放到每個簡單語句的結尾。注意一個函數賦值或物件賦值語句也是賦值語句,應該以分號結尾。
JavaScript可以把任何表達式當作一條語句。這很容易隱藏一些錯誤,特別是誤加分號的錯誤。只有在賦值和呼叫時,表達式才應被當作一條單獨的語句。
複合語句
複合語句是被包含在{ }(大括號)的語句序列。
被括起的語句必須多縮排四個空格。 {(左大括號)應在複合語句其實行的結尾處。 }(右大括號)應與{(左大括號)的那一行的開頭對齊大括號應該在所有複合語句中使用,即使只有一條語句,當它們是控制結構的一部分時, 比如一個if或者for語句。這樣做可以避免以後加入語句時造成的錯誤。
標示
語句標示是可選的,只有以下語句必須被標示:while, do,for,switch。
return 語句
一條有回傳值的return語句不要使用( )(括號)來括住回傳值。如果回傳表達式,則表達式應與return 關鍵字在同一行,以避免誤加分號錯誤。
continue 語句
避免使用continue語句。它很容易使得程式的邏輯過程晦澀難懂。
with 語句
不要使用with語句。
空白
用空白行來將邏輯相關的程式碼區塊分割開可以提高程式的可讀性。
空格應在以下情況時使用:
• 跟在((左括號)後面的關鍵字應被一個空格隔開。 while (true) {
• 函數參數與((左括號)之間不應該有空格。這能幫助區分關鍵字和函數呼叫。
• 所有的二元運算子,除了.(點) 和((左括號)和[ (左方括號)應用空格將其與操作數隔開。 • 每個在控制部分,例如for 語句中的; (分號)後面必須跟一個空格。
物件定義的規則:
將左花括號與類別名稱放在同一行。字串使用雙引號,數字不需要。
##檔案副檔名HTML 檔案後綴可以是 .html (或r .htm)。
CSS 檔案後綴是 .css 。
JavaScript 檔案後綴是 .js 。
使用小寫檔名
大多Web 伺服器(Apache, Unix) 對大小寫敏感: london.jpg 不能透過London.jpg 訪問。
其他 Web 伺服器 (Microsoft, IIS) 對大小寫不敏感: london.jpg 可以透過 London.jpg 或 london.jpg 存取。
你必須保持統一的風格,我們建議統一使用小寫的檔案名稱。