我喜歡的JavaScript編程風格

本文爲《編寫可維護的JavaScript》讀書筆記segmentfault

一、變量數組

  • 變量名遵照駝峯大小寫命名法瀏覽器

  • 命名前綴可爲名詞,這樣可與函數名區分函數

  • 常量利用大寫字母和下劃線(用來分隔單詞)來命名佈局

  • 全部變量聲明放在函數頂部插件

  • 函數頂部使用單var語句聲明變量, 不一樣變量之間使用 "," 分隔開code

二、函數對象

  • 先聲明函數而後使用函數繼承

  • 函數調用寫法推薦:事件

    doSomthing(); //在函數名和左括號之間沒有空格,與塊語句區分開來

  • 當即執行函數

    var value = (function(){...})(); //將函數用一對圓括號包裹起來,加強代碼的可讀性

三、null

  1. 適用場景:

    • 初始化變量,它可能賦值爲一個對象

    • 用來與已經初始化的變量(能夠是也能夠不是一個對象)比較

    • 當函數的參數指望是對象時,用做參數傳入

    • 函數返回值爲對象時,用做返回值傳出

  2. 不適用場景

    • 不要用null來檢測是否傳入某個參數

    • 不要用null來檢測一個未初始化的變量

四、undefined(被初始化變量的初始值,表示這個變量等待被賦值)

  • 避免使用undefined

  • 變量爲聲明,可將其賦值爲null

五、註釋

  1. 註釋與語句不在同一行時,註釋以前須要空行

  2. 在同一行,註釋和代碼之間須要空行

  3. 添加註釋的原則:

    • 難於理解

    • 代碼看上去有錯誤,實際沒有

    • 瀏覽器特性hack時(例如,原生js綁定事件)

  4. 關於註釋,推薦使用插件DocBlockr

六、語句

  1. 不論塊語句包含多行代碼仍是單行代碼,都應當是使用花括號

  2. 塊語句包括:

    • if

    • for

    • while

    • do...while

    • try...catch...finally

  3. 塊語句間隔風格推薦:

    1. if (condition) {} //在括左圓括號以前和右圓括號以後各添加一個空格

七、case語句的連續執行問題(在switch語句中執行完一個case以後繼續執行下一個case):

switch (condition) {
            case "first":
            case "second":
                //代碼
                break;
            default:
                //代碼
        }
  • case連續執行能夠有意爲之,可是須要添加註釋

八、with:禁止使用

九、for循環注意事項:儘量避免使用continue

十、for-in循環

  • 不只遍歷對象的實例屬性,並且遍歷從原型繼承過來的屬性

  • 最好使用 hasOwnProperty 來爲for-in循環過濾出實例屬性

  • 禁止用來遍歷數組成員

十一、嚴格模式

  • 不推薦在全局做用域內使用。若是團隊成員文件合併,可能會讓團隊其餘成員的代碼報錯

  • 推薦函數內部,即佈局做用域內使用

十二、相等

  • 兩個等號判斷相等,容易出現強制類型轉換

  • 推薦使用三個等於號用來判斷相等

1三、原始包裝類型

`var name = new String('Nicholas');`
  • 避免使用

參考資料:《編寫可維護的JavaScript》

相關文章
相關標籤/搜索