語句
對(duì)于簡(jiǎn)單語句而言,需要提及的仍然是分號(hào)必要性,同時(shí),一行最多有一個(gè)語句。如果一個(gè)賦值語句是用函數(shù)和對(duì)象來賦值,可能需要跨多行,一定切記要在賦值語句末加上分號(hào)。
這是因?yàn)?JavaScript 中,所有表達(dá)式都可以當(dāng)語句,遇換行符時(shí)會(huì)解析為表達(dá)式的結(jié)束,此時(shí)不規(guī)范的換行和分號(hào)的丟失,可能引入新的錯(cuò)誤。
對(duì)于復(fù)合語句,if, for, while, do, switch, try … catch 等代碼體,函數(shù)定義的函數(shù)體,對(duì)象的定義等都需要放在花括號(hào)'{}'里面。
- '{' 應(yīng)在行末,標(biāo)志代碼塊的開始。
- '}' 應(yīng)在一行開頭,標(biāo)志代碼塊的結(jié)束,同時(shí)需要和'{'所在行的開始對(duì)齊,以表明一個(gè)完整的復(fù)合語句段。這樣可以極大地提高代碼的可閱讀性,控制邏輯能清晰地表現(xiàn)出來。
- 被包含的代碼段應(yīng)該再縮進(jìn) 4 個(gè)空格。
- 即使被包含的代碼段只有一句,也應(yīng)該用花括號(hào)'{}'包含。盡管不用花括號(hào)代碼也不會(huì)錯(cuò),但如若需要增加語句的話,則較容易因花括號(hào)遺漏而引起的編譯錯(cuò)誤或邏輯錯(cuò)誤。
return語句在使用時(shí)也需慎重,如果用表達(dá)式的執(zhí)行作為返回值,請(qǐng)把表達(dá)式和 return 放在同一行中,以免換行符被誤解析為語句的結(jié)束而引起返回錯(cuò)誤。return 關(guān)鍵字后若沒有返回表達(dá)式,則返回 undefined。構(gòu)造器的默認(rèn)返回值為 this。
清單 5. return 表達(dá)式
<script language="javascript"> function F1() { var valueA = 1; var valueB = 2; return valueA + valueB; } function F2() { var valueA = 1; var valueB = 2; return valueA + valueB; } alert( F1() ); //output: 3 alert( F2() ); //ouput: undefined </script>
在清單 5 中顯示了因返回表達(dá)式?jīng)]有和 return 關(guān)鍵字放在同一行而引起的返回錯(cuò)誤,需重視。
特殊符號(hào)
空白符
適當(dāng)?shù)目瞻仔锌梢源蟠筇岣叽a的可閱讀性,可以使代碼邏輯更清晰易懂。同時(shí),在表達(dá)式中適當(dāng)?shù)牧艨瞻,也?huì)給代碼的閱讀帶來方便。
關(guān)鍵字的后面如有括號(hào),則最好在關(guān)鍵字和左括號(hào)'('之間留空白,如 for, if, while 等。而函數(shù)名和括號(hào)之間則不宜留空白,但若是匿名函數(shù),則必須在 function 和左括號(hào)'('之間留空白,否則,編輯器會(huì)誤認(rèn)為函數(shù)名為 function。
在表達(dá)式中,二元運(yùn)算符 ( 除左括號(hào)'(',左方括號(hào)'[',作用域點(diǎn)'.') 和兩個(gè)操作數(shù)之間最好留空白。一元運(yùn)算符(若不是詞 typeof 等)和其操作數(shù)之間不宜留空白。
逗號(hào)','的后面需要留空白,以顯示明確的參數(shù)間隔,變量間隔等。
分號(hào)';'之后通常表明表達(dá)語句的結(jié)束,而應(yīng)空行。在 for 的條件語句中,分號(hào)之后則應(yīng)該留空白。
出處:ibm
責(zé)任編輯:bluehearts
上一頁 淺談JavaScript編程語言的編碼規(guī)范 [3] 下一頁 淺談JavaScript編程語言的編碼規(guī)范 [5]
◎進(jìn)入論壇網(wǎng)頁制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評(píng)論。
|