Blackbing Playground

撰寫javascript的規範 (Code Conventions for the JavaScript Programming Language)

javascript程式

javascript程式應該獨立成js檔被include進來,盡量不要將javascript code 與embade在HTML裡頭,這麼一來無法利用cache或壓縮,將來要維護也不容易。
盡量將引入的javascript放到HTML的最後,將會減少載入script的延遲。
script標籤裡頭不需要使用lauguage, type屬性。

縮排

縮排的單位為4個空白,請避免使用tab來做縮排,即使是現在,tab字元到底該空多少空白依然沒有標準,雖然空白會增加檔案大小,但是可以透過Minification的技巧來降低檔案大小。

程式碼行寬

程式碼每行的長度最好不要超過80個字元,下一行應該要縮排8個空白。

註解

不要下白痴註解例如:
[sourcecode=”javascript”] i = 0; // Set i to zero.[/sourcecode]

變數的宣告

所有變數都必需要用var來宣告,未使用var宣告都會被當成全域變數,你一定不希望你的程式有一大堆的全域變數。變數不需要定義初始值,但是最好在定義時給他註解,這是一個好習慣。

1
2
3
var currentEntry; // currently selected table entry
var level; // indentation level 
var size; // size of table


另外javascript並沒有block scope,只要定義了變數,在function裡頭就可以存取,因此請將定義變數寫在function的最上面。

函式的宣告

函式名稱與’(‘ (左括弧)中間不要有空白,而’)’ (右括弧)與’{‘ (大括弧)中間空一個空白,例如

1
2
function outer(c, d) {
}


變數的命名

☆ 只使用大小寫英數字 與’‘(底線)來命名,避免使用特殊字元來命名。
☆ ‘
‘(底線)開頭的變數通常表示私有變數,若非此需求請不要如此命名。
☆ 大部分的變數開頭為小寫。
☆ 需要new 的物件請用大寫字元開頭,需要new function的錯誤非常難發現,開頭大寫是一個較好的撰寫習慣。
☆ 全域變數應該要全部大寫 。
☆ 不要使用無意義的咒罵之詞命名變數,你有可能會惹腦閱讀者。例如:

1
2
var fuckingElement = document.getElementById('fuck');
var myBossIs = 'shit';


敘述

每一行必須要由; 結束,雖然javascript允許每一行敘述都可以不需要分號,但這樣可能會引起一些錯誤。

continue

避免使用continue ,他會讓控制流程模糊。

with

不要使用with。

{} 與 []

使用{}取代 new Object,使用[]取代new Array()。(例如我之前寫的new Object() VS {} AND new Array() VS [] 效能比較)

=== 與 !==

比起== 與 !=,使用===與!==會更好,特別是你要判斷false變量時。(例如我在JAVASCRIPT 型態中的說明)

使用eval是邪惡的(eval is Evil)

避免使用eval,另外像Function建構式,傳遞字串到setTimeout, setInterval 執行的方式、在HTML裡頭寫 onclick=””也都是用eval來執行,請避免。

原文連結:Code Conventions for the JavaScript Programming Language