亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

20條學習javascript的編程規范的建議

2019-11-20 13:51:34
字體:
來源:轉載
供稿:網友

1、使用js文件管理代碼

所有代碼盡量放在js文件中,然后再html文件中使用script引入,引入時注意放在body標簽后面,并且不使用type或者language。

2、書寫縮進

使用4個空白格縮進,注意不要使用tab鍵進行縮進。

3、斷句

注意行長,每行不超過80個字符,超過時要進行適當斷句,斷句應該再操作符后面進行,最理想的是在逗號(,)后面進行斷句,斷句后下一行使用8格縮進。

4、注解

一般使用單行注釋,塊注釋一般用于文檔。

5、變量聲明

所有變量使用之前先聲明,未聲明的變量會自動作為全局變量。全文應少使用全局變量。
最好把所有變量聲明用一個var實現,并且每個聲明單獨放一行,并添加注釋說明,如果可以所有聲明變量按照字符順序列出,如下:

復制代碼 代碼如下:

var currentEntry,      //當前選擇表項目
    level;          //縮進級別

在函數體內頂部定義所有變量,則var出現在函數體首行。

6、函數聲明

所有函數使用前應該先聲明,并且在變量之后進行-------有助于查看作用域。
函數名和括號直接不應該有空格;右括號(和函數參數之間不應該有空格;左括號)和函數體括號{之間有一個空格;函數體縮進4個空格;函數體結束括號}和函數聲明關鍵字function首字符對齊。如下代碼:

復制代碼 代碼如下:

function outer(c,d) {
    var e = c * d;

    function inner(a,b) {
        return (e * a ) + b;
    }

    return inner(0,1);
}


函數和對象可以被放在任何允許放表達式的地方。
匿名函數關鍵字function和左括號(之間有一個空格。
盡量少使用全局函數。
對于立即執行函數,整個調用表達式應放在一對個括號()里面,以明確變量的值是函數執行結果而不是函數本身。如下代碼:
復制代碼 代碼如下:

var result = (function () {
    var key = "";
    return {
        get: function () {
            return key;
        },
        set: function (key) {
            key = key;
        }
    };
}());

7、命名

以字母、數字、下劃線命名,避免使用國際字符、美元符號$、反斜杠/。
不要使用下劃線作為名稱的首位字符。
大多數變量和函數使用小寫字母開頭命名。
構造函數必須使用大寫字母開頭,在js中省略new不會報錯(編譯或者運行錯誤),但最好不要省略。
全局變量應用全部大寫命名(js中沒有宏和常量的概念)。

8、語句

簡單語句

每行最多一條語句,并且使用分號;結尾,注意以函數字面量和對象字面量賦值的語句也要使用分號;。
js允許任何一個變量作為一條語句,但是在插入分號的時候可能會引起某些錯誤,因此一般使用表達式的語句是賦值或者函數調用語句(這句英文原文我大概理解了,但是不知道怎么翻譯出來比較好)

復合語句(包含在一對{}之間的語句)

內部語句縮進4個空格。

左括號{應該在開始語句行的末尾。
右括號應該在最后單獨一行,并且與左括號所在行的首字符對齊。
當語句在控制語句(例如for、if等)中時,應該使用花括號{}將語句包圍起來,即使只有一條語句,這樣可以保證在添加語句時不產生bug。

9、標簽(這一部分的理解感覺不是很對)

要使用label的語句是有選擇性的,只有下面幾種:while、for、do、switch。

10、返回語句

返回的值應該用圓括號括起來,且返回表達式應該和return關鍵字在同一行(避免換行插入分號)。

11、if語句

遵循如下格式:

復制代碼 代碼如下:

if (condition) {
    statements
}

if (condition) {
    statements
} else {
    statements
}

if (condition) {
    statements
} else if (condition) {
    statements
} else {
    statements
}

12、for語句

遵循如下格式:

復制代碼 代碼如下:

for (initiliazation; condition; update) {
    statements
}

for (variable in object) {
    if (filter) {
        statements
    }
}


第一種循環格式用于數組和可以判斷迭代次數的變量。
第二中用于對象遍歷
注:此處提到了在對象原型中添加的屬性是可以枚舉的,因此要使用hasOwnProperty方法進行篩選,但是我用for in代碼測試的時候,沒有顯示,這里不知道問題出在了哪里。

13、while語句

遵循如下格式:

復制代碼 代碼如下:

while (condition) {
    statements
}

14、do-while語句

遵循如下格式:

復制代碼 代碼如下:

do {
    statements 
} while (condition);

語句結尾要添加分號。

15、switch語句

遵循如下格式:

復制代碼 代碼如下:

switch (expression) {
case expression:
    statements
default:
    statements
}

每一個case都要和switch對齊,避免過分縮進,只有case標簽不是語句,應該不應該縮進。
每個case語句(除了default)必須要以break或return或throw結尾。

16、try語句

遵循如下格式:

復制代碼 代碼如下:

try {
    statements
} catch (variable) {
    statements
}
try {
    statements
} catch (variable) {
    statements
} finally {
    statements
}

17、continue語句

避免使用continue語句。

18、with語句

不應該使用with語句。

19、空格使用

通過設置空行來分割邏輯相關的代碼段,以增強代碼可讀性。
在以下情況下設置空格:
關鍵字之后跟隨左括號(要使用空格,例如:
while (true) {
不能在函數參數和左括號(之間使用空格。
除了點號(.)、左圓括號(()、方括號([)以外的二元運算符都要使用一個空格來和操作數分割開。
除了typeof以外的一元操作符和他的操作數之間不應有空格。
for語句控制塊()中每個分號;之后有一個空格。
每個逗號后面要有一個空格。

20、額外建議

[]和{}
當成員名稱是連續整數時使用數組,當成員名稱是任意字符串和名稱時使用對象。
使用{}代替new object(),使用[]代替new Array()。
逗號,操作符
避免使用逗號,操作符(這一規定不適用于對象字面量、數組字面量定義和var聲明語句以及參數列表)
塊級作用域
除了符合語句不使用語句塊,js沒有塊級作用域,只有函數作用域。
賦值表達式
while和if語句中條件判斷部分避免使用賦值語句。
===和!==
判定相等使用全等符號(===和!==),避免使用強制類型相等轉換符號(==和!=)。
若一個數字加(或者-)一個帶有符號(+或者-)的數字,或者帶有(++或--)的數字,則需要將帶有符號或者(++或--)的數字括起來。
eval是惡魔(eval的濫用l)
eval有相同情況,不應使用Function構造函數,不向setTimeout或setInterval函數傳遞字符串。

以上20條建議都是本人在項目中總結出來的,對于新手學習javascript應該是小有幫助的,都是個人經驗,難免有不全面的地方,如果發現了,還請告之,這里拋磚引玉,大家共同進步。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品69精品一区二区三区| 午夜精品三级视频福利| 亚洲最大的av网站| 国产精品午夜一区二区欲梦| 97国产精品视频人人做人人爱| 国产精品一二区| 日本成人在线视频网址| 日韩成人高清在线| 精品国产乱码久久久久久天美| 欧美日韩国产丝袜另类| 亚洲一区二区三区视频播放| 69国产精品成人在线播放| 韩国国内大量揄拍精品视频| 国产成人精品久久二区二区91| 久久久久久久影视| 国产精品草莓在线免费观看| 亚洲精品国产综合久久| 欧美韩国理论所午夜片917电影| 国产精品1区2区在线观看| 欧美日韩国产一区二区| 亚洲综合第一页| 国产精品热视频| 国产www精品| 日本不卡免费高清视频| 国产日韩精品入口| 在线亚洲午夜片av大片| 欧美日韩在线观看视频| 欧美华人在线视频| 欧美精品九九久久| 红桃av永久久久| 欧美一级大片视频| 亚洲性夜色噜噜噜7777| 日韩av电影免费观看高清| 麻豆精品精华液| 欧美成人午夜视频| 欧美专区福利在线| 国产日韩欧美综合| 久久精品国产2020观看福利| 日韩精品免费看| 伊是香蕉大人久久| 精品久久久久久久久久国产| 日本欧美国产在线| 国产美女精品视频免费观看| 九九久久久久99精品| 亚洲性线免费观看视频成熟| 国产欧美亚洲视频| 欧美福利视频在线| 亚洲欧美国产一本综合首页| 欧美激情手机在线视频| 国产一区二中文字幕在线看| 亚洲午夜精品久久久久久久久久久久| 久久精品中文字幕一区| 国产日韩欧美在线观看| 亚洲成成品网站| 欧美成人精品激情在线观看| 日韩av黄色在线观看| 日韩精品中文字幕在线播放| 亚洲黄色av女优在线观看| www.亚洲男人天堂| 91免费欧美精品| 国产精品无av码在线观看| 欧美国产第一页| 亚洲一区二区三区四区视频| 狠狠躁夜夜躁久久躁别揉| 中文字幕一区二区精品| 人人做人人澡人人爽欧美| 久久av红桃一区二区小说| 美女国内精品自产拍在线播放| 国产成+人+综合+亚洲欧美丁香花| 欧美精品www| 国产精品三级久久久久久电影| 欧美劲爆第一页| 午夜精品久久久久久久99热浪潮| 久久伊人免费视频| 国产精品永久免费在线| 国产做受69高潮| 久久久精品国产网站| 国产日韩欧美一二三区| 亚洲国产第一页| 日韩欧美一区视频| 色综合久久中文字幕综合网小说| 亚洲国产精品视频在线观看| 国产精品一区二区av影院萌芽| 亚洲网站在线观看| 日韩av中文字幕在线| 国产欧美日韩视频| 欧美日韩国产页| 中文字幕免费精品一区| 日韩美女写真福利在线观看| 国产精品黄页免费高清在线观看| 91人成网站www| 亚洲va欧美va国产综合久久| 日韩一区视频在线| 在线丨暗呦小u女国产精品| 日本国产一区二区三区| 日韩成人激情影院| 欧美日韩国产色视频| 欧美国产日韩一区| 精品久久久久久中文字幕大豆网| 日韩在线播放视频| 国产91在线高潮白浆在线观看| 久久久成人精品视频| 亚洲视频在线免费观看| 欧美日韩国产一区二区| 日本高清不卡的在线| 欧美成人亚洲成人| 亚洲综合av影视| 性日韩欧美在线视频| 亚洲视频电影图片偷拍一区| 国产欧美最新羞羞视频在线观看| 日韩免费视频在线观看| 日韩女优人人人人射在线视频| 国产偷亚洲偷欧美偷精品| 欧美激情视频三区| 欧美中文字幕第一页| 国产91色在线|免| 亚洲一区二区三区毛片| 国产精品青草久久久久福利99| 国内精品视频一区| 国产精品久久久久国产a级| 欧美性猛交xxxx| 在线播放国产一区二区三区| 欧美大片大片在线播放| 亚洲free性xxxx护士hd| 清纯唯美亚洲综合| 亚洲人成免费电影| 日韩美女激情视频| 91在线中文字幕| 国产精品一区二区三区免费视频| 亚洲男女性事视频| 国产欧美在线看| 在线亚洲男人天堂| 欧美国产日韩中文字幕在线| 亚洲va国产va天堂va久久| 亚洲综合大片69999| 中文字幕久久久av一区| 中文字幕在线成人| 国产一区二区日韩| 日韩精品在线私人| 中文字幕av一区二区三区谷原希美| 久久精品人人爽| 日日骚av一区| 最近2019好看的中文字幕免费| 自拍视频国产精品| 欧美性精品220| 亚洲人成人99网站| 亚洲视频欧美视频| 久热精品在线视频| 久久在线免费观看视频| 久久九九热免费视频| 精品亚洲一区二区三区在线观看| 日韩精品视频免费专区在线播放| 国产精品专区第二| 欧美日韩成人在线视频| 精品国偷自产在线视频| 国内精品久久久久久| 日韩在线播放av| 国产成人avxxxxx在线看| 欧美丰满少妇xxxx| 亚洲高清久久久久久| 亚洲免费小视频| 成人免费大片黄在线播放| 欧美资源在线观看| 国产精品999999|