編寫可維護(hù)的JavaScript(二)

JavaScript 編程的本質(zhì)是編寫一個(gè)個(gè)的函數(shù)來完成任務(wù)。在函數(shù)內(nèi)部,變量和運(yùn)算符可以通過移動(dòng)操作字節(jié)來使某件事發(fā)生。

第二章 注釋

2.1 單行注釋

  • 獨(dú)占一行的注釋,用來解釋下一行代碼
    這行注釋之前總是有一個(gè)空行,且縮進(jìn)層級(jí)和下一行代碼保持一致。
  • 在代碼行的尾部的注釋
    • 代碼結(jié)束到注釋之間至少有一個(gè)縮進(jìn)。
    • 注釋(包括之前的代碼部分)不應(yīng)當(dāng)超過單行最大字符數(shù)限制,如果超過了,就將這條注釋放置于當(dāng)前代碼行的上方。
  • 被注釋掉的大段代碼

2.2 多行注釋

  • 多行注釋前應(yīng)有一個(gè)空行,且縮進(jìn)層級(jí)和其描述的代碼保持一致。
  • 星號(hào)后需要有空格
  • 代碼尾部注釋不要用多行注釋格式

2.3 使用注釋

在需要讓代碼變得更清晰時(shí)添加注釋。

2.3.1 難于理解的代碼

難于理解的代碼通常都應(yīng)當(dāng)加注釋。

2.3.2 可能被誤認(rèn)為錯(cuò)誤的代碼

當(dāng)代碼看上去有錯(cuò)誤時(shí),可添加注釋提醒。

2.3.3 瀏覽器特性hack

做瀏覽器特性Hack的代碼可能隱含一些錯(cuò)誤,可添加注釋。

2.4 文檔注釋

  • 所有的方法
    應(yīng)當(dāng)對(duì)方法、期望的參數(shù)和可能的返回值添加注釋描述
  • 所有的構(gòu)造函數(shù)
    應(yīng)當(dāng)對(duì)自定義類型和期望的參數(shù)添加注釋描述
  • 所有包含文檔化方法的對(duì)象
    如果一個(gè)對(duì)象包含一個(gè)或多個(gè)附帶文檔注釋的方法,那么這個(gè)對(duì)象也應(yīng)當(dāng)適當(dāng)?shù)蒯槍?duì)文檔生成工具添加文檔注釋。

第三章 語句和表達(dá)式

所有的塊語句都應(yīng)當(dāng)使用花括號(hào)

  • if
  • for
  • while
  • do...while...
  • try...catch...finally

for-in循環(huán)

最好使用hasOwnProperty()方法來為for-in循環(huán)過濾出實(shí)例屬性。

第四章 變量函數(shù)

4.1 變量聲明

變量聲明是通過var語句來完成的。
變量聲明提前意味著:在函數(shù)內(nèi)部任意地方定義變量和在函數(shù)頂部定義變量是完全一樣的。

  • 將局部變量的定義作為函數(shù)內(nèi)第一條語句
  • 合并var語句

4.2 函數(shù)聲明

函數(shù)聲明也會(huì)被JavaScript引擎提前。

  • 先聲明JavaScript函數(shù)然后使用函數(shù)。
  • 函數(shù)聲明應(yīng)當(dāng)在條件語句的外部使用。

4.3 函數(shù)調(diào)用間隔

在函數(shù)名和左括號(hào)之間沒有空格。

4.4 立即調(diào)用的函數(shù)

  (function () {
    // 函數(shù)體
  }())

4.5 嚴(yán)格模式

推薦使用嚴(yán)格模式use strict

4.6 相等

JavaScript具有強(qiáng)制類型轉(zhuǎn)換機(jī)制

  • 推薦使用===!==
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容