<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 編風格程 作為前端開發人員,我相信每一個人都或多或少的用到原生的JavaScript,也正是因為用的人多,導致編碼風格也是多種多樣的,而不規范的編碼風格,不僅會導致一些奇怪的問題出現,而且不利于后期維護和提高執行效率。 基于本人也在開發中因為規范而出現各種問題,我特意的整理了一下JavaScript編碼規范(并不強制,只是推薦)。 **1、變量** 聲明變量必須加上`var`關鍵字,而且每個`var`只聲明一個變量,增加可讀寫。 推薦: ``` var name = 'TG'; var sex = 'man'; ``` 不推薦: ``` var name = 'TG', sex = 'man'; ``` **2、常量** 常量的命名方式:用大寫字符,并用下劃線分隔。盡量不要使用const關鍵詞。 ``` var MY_NAME = 'TG'; ``` 原因:IE并不支持const **3、行尾分號** 總是使用分號,對于可用可不用的行尾分號,使用分號。 **4、嵌套函數** 可以使用,可以減少重復代碼,隱藏幫助函數等好處 **5、塊內函數聲明** 不要在塊內聲明一個函數 不推薦: ``` if(a){ function foo(){} } ``` 推薦: ``` if(a){ var foo = function(){} } ``` **6、異常處理** 可以使用 ``` try{}catch(e){} throw exception ``` **7、eval()** ``` 只用于解析序列化串 ``` 原因:eval()會讓程序執行的比較混亂。 **8、with(){}** 盡量少用。 **9、縮進** 用4個空格作為一縮進,而不是使用tab 原因:因為在不同瀏覽器上,tab的長度不一。 **10、字符串過長截取** 每行代碼不超過80個字符。如代碼過長,可使用+運算符拼接。 原因:過長會導致需要拖動橫向滾動條才看得到后面的代碼,降低開發效率,而且在復制黏貼時有可能錯漏。 **11、大括號** 區塊起首的大括號,不要另起一行 推薦: ``` if (true) { } ``` 不推薦: ``` if (true) { } ``` **12、構造函數** 對于構造函數,命名采用首字母大寫,其他函數一律小寫。 原因:可讀性,區分構造函數和普通函數 **13、注釋** 合理的加上注釋,有利于后期維護,提高可讀性。 **14、{}和[]** 使用{}代替new Object(),使用[]代替new Array() **15、單引號(')** 盡量使用單引號('),只在JSON文件中使用雙引號。 **16、變量和函數聲明** 變量名和函數名在JavaScript機制下會發生聲明提升(也就是會提前到頂部聲明),所以建議變量和函數應該在使用前聲明。 **17、使用===和!==代替==和!=** 在JavaScript中,比較運算符進行計算時會進行強制轉換,==和!=會產生一些意想不到的結果,所以應該用“嚴格相等”===。 **18、換行** 在語句塊和下一個語句之間留一個空行,提高可讀性。 **19、命名** 構造函數或類名使用駝峰式命名 **20、嵌入規則** JavaScript程序應該盡量放在.js的文件中。 **21、命名規則** JavaScript 中的標識符的命名規則: 以字母、下劃線'_'或美元符號'$'開頭 允許名稱中包含字母,數字,下劃線'_'和美元符號'$' 區分大小寫 變量、屬性和函數名應該用駝峰式: ``` var isLogin = false; ``` 私有函數用下劃線開頭: ``` function getFirstName(){ function _getName(){} } ``` 構造函數和類名應該首字母大寫。 對象中私有變量和函數以下劃線開頭。 **22、語句** 對于復合語句,if, for, while, do, switch, try … catch 等代碼體,函數定義的函數體,對象的定義等都需要放在花括號'{}'里面。 '{' 應在行末,標志代碼塊的開始。 '}' 應在一行開頭,標志代碼塊的結束,同時需要和'{'所在行的開始對齊,以表明一個完整的復合語句段。這樣可以極大地提高代碼的可閱讀性,控制邏輯能清晰地表現出來。 被包含的代碼段應該再縮進 4 個空格。 即使被包含的代碼段只有一句,也應該用花括號'{}'包含。盡管不用花括號代碼也不會錯,但如若需要增加語句的話,則較容易因花括號遺漏而引起的編譯錯誤或邏輯錯誤。 return語句在使用時也需注意,如果用表達式的執行作為返回值,應該把表達式和 return 放在同一行中,以免換行符被誤解析為語句的結束而引起返回錯誤。return 關鍵字后若沒有返回表達式,則返回 undefined。構造器的默認返回值為 this。 return a + b; **23、方法鏈(調用鏈)** 如果使用方法鏈,應該每行只調用一個方法: Animal .getName() .getFirstName() **24、使用三元運算符** 三元運算符不應該用在一行,應該分割成多行替代。 推薦: ``` var foo = (a === b) ? 1 : 2; ``` 不推薦: ``` var foo = (a === b) ?1 : 2; ``` **25、逗號** 對于數組和對象不要使用多余的“,” 不推薦: ``` var arr = [1,2,] var person = { name: 'TG' }; ``` 原因:IE不兼容 **26、for-in** 對于數組,盡量避免使用for-in
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看