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

首頁 > 編程 > JavaScript > 正文

如何寫好你的JavaScript【推薦】

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

前言

在實際工作中,我們應該經常會看到一些功能上沒有問題,但編碼風格和規范卻十分糟糕的代碼,這往往會讓人不敢再往下閱讀,甚至會影響閱讀者一天的心情。這些代碼不僅不易閱讀,而且難以維護,它們一般會出自剛入門的編程新手,也會出自工作了好幾年的老程序員手下。因此本文的目的在于幫助那些沒有養成良好的編碼風格,缺乏相應編碼規范意識的JavaScript學習者們改善他們的編碼形象。

編碼形象

以上我提出了編碼形象的概念,我個人認為:

編碼形象 = 編碼風格 + 編碼規范

一個良好的編碼形象就等于一個穿著得體的青年,對于程序員來說這是同行了解你優秀能力的最直接最簡單的方式。

我們來看一下一段糟糕的編碼形象:

//打個招呼function func(){ var age=18,sex='man'; var greeting='hello'; if(age<=18&&sex=='man'){ console.log(greeting+'little boy') } ...}func()

上方代碼整體縮在了一起,缺乏規范意識,閱讀體驗很差,不忍直視。

再來看一段良好的代碼形象:

// 打個招呼function greetFn() { var age = 18, sex = 'man', greeting = 'hello'; if (age <= 18 && sex === 'man') { console.log(greeting + 'little boy'); } ...};greetFn();

上方的代碼是不是感覺舒服多了?

由此可見養成一個良好的編碼形象是至關重要的,而本文主要講解的是基于JavaScript的編碼形象,即基于JavaScript的編碼風格和編碼規范。

那么什么是編碼風格,什么是編碼規范,兩者的區別又是什么?

編碼風格

首先編碼風格既然是風格,就沒有對錯之分。就好比每個人的穿著打扮不同,有的人穿的比較得體,有的人穿的比較隨意而已。

而在JavaScript編碼風格中,也有一套比較得體的風格,尤其在團隊開發中,我們不能隨意的書寫屬于自己的風格。

下面就列舉幾種隨意的編碼風格,并將其與良好的編碼風格進行對比。

1.合理注釋

// 不推薦的寫法var name = '勞卜';//代碼和注釋之間沒有間隔if (name) { /* *注釋之前無空行 *星號后面無空格 */}
// 推薦的寫法var name = '勞卜'; // 代碼和注釋之間有間隔if (name) { /* * 注釋之前有空行 * 星號后面有空格 */}

2.合理間隔

// 不推薦的寫法var name='勞卜'; // 等號和兩側之間沒有間隔// if塊級語句間沒有間隔if(name){ console.log('hello');}
// 推薦的寫法var name = '勞卜'; // 等號和兩側之間有間隔// if塊級語句間有間隔if (name) { console.log('hello');}

3.合理縮進

// 不推薦的寫法:沒有合理縮進function getName() {console.log('勞卜'); }
// 推薦的寫法:合理縮進function getName() { console.log('勞卜');}

4.合理空行

// 不推薦的寫法: 代碼功能塊之間沒有空行function getName() { var name = '勞卜'; if (name) { console.log('hello'); }}
// 推薦的寫法:代碼功能塊之間有空行function getName() { var name = '勞卜'; if (name) { console.log('hello'); }}

5.合理命名

// 不推薦的寫法var getName = '勞卜'; // 變量命名前綴為動詞// 函數命名前綴為名詞function name() { console.log('hello');}
// 推薦的寫法var name = '勞卜'; // 變量命名前綴為名詞// 函數命名前綴為動詞function getName() { console.log('hello');}

6.合理聲明

// 不推薦的寫法:函數在聲明之前使用getName(); function getName() { console.log('hello');}
// 推薦的寫法:函數在聲明之后使用function getName() { console.log('hello');}getName();

7.合理結尾

// 不推薦的寫法:沒有使用分號結尾var name = '勞卜' var getName = function() { console.log('hello')}
// 推薦的寫法:使用分號結尾var name = '勞卜'; var getName = function() { console.log('hello');};

以上主要列舉了7個比較常見的編碼風格的例子進行了比較,在推薦的寫法和不推薦的寫法中兩者并沒有對錯之分,只是推薦的寫法相比較而言更容易閱讀和維護,更適用于團隊開發,也是良好編碼形象的體現。

編碼規范

對于編碼規范,既然是規范,那我們就應該按照一定的規則來編寫。隨意編寫違反編碼規范的代碼,可能會導致程序的出錯和潛在的bug,因此其相對于編碼風格來說應該更加嚴謹,也有人會把編碼風格包含在編碼規范之中。

下面就列舉幾個常見的實例代碼:

1.比較參數

// 不推薦的寫法:==和!=比較時會進行類型轉換,應盡量避免使用var num = 123;if (num == '123') { console.log(num);} else if (num != '321') { console.log('321');}
// 推薦的寫法:使用===和!==來進行比較var num = 123;if (num === '123') { console.log(num);} else if (num !== '321') { console.log('321');}

2.包裹if語句

// 不推薦的寫法:if語句不用大話號包裹會出現潛在bugvar num = 123;if (num === '123') console.log(num);
// 推薦的寫法:if語句用大話號包裹var num = 123;if (num === '123') { console.log(num);}

3.慎用eval

// 不推薦的寫法:應避免使用eval,不安全,非常耗性能(一次解析成js語句,一次執行)var json = '{"name": "勞卜", "func": alert("hello")}';eval('(' + json + ')'); // 彈出“hello”
// 推薦的寫法var json = '{"name": "勞卜", "func": alert("hello")}';JSON.parse(json); // 校驗報錯

4.判斷類型

// 不推薦的寫法:用typeof來判斷構造函數創建的對象var str = new String('勞卜'); console.log(typeof str); // 'object'
// 推薦的寫法:用instanceof來判斷構造函數創建的對象var str = new String('勞卜'); console.log(str instanceof String); // true

5.檢測屬性

// 不推薦的寫法:使用undefined和null來檢測一個屬性是否存在if (obj['name'] !== undefined) { console.log('name屬性存在'); // 若obj.name為undefined時則會導致判斷出錯}if (obj['name'] !== null) { console.log('name屬性存在'); // 若obj.name為null時則會導致判斷出錯}
// 推薦的寫法:使用in運算符來檢測對象屬性是否存在,使用hasOwnProperty方法來檢測不包含原型鏈上的對象屬性是否存在if ('name' in obj) { console.log('name屬性存在');}if (obj.hasOwnProperty('name')) { console.log('name屬性存在');}

以上主要列舉了5個常見的編碼規范的例子,合理地規范自己的代碼能夠很大程度上減少不必要的維護成本和潛在的bug風險,對于JavaScript學習者來說應該銘記于心。

結語

“程序是寫給人讀的,只是偶爾讓計算機執行一下。”我們不能為了貪圖一時的方便而親手毀了自己的代碼形象,這會給他人和整個項目帶來不必要的麻煩。

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91日韩在线播放| 亚洲欧洲日产国码av系列天堂| 欧美成人一区二区三区电影| 国产精品精品久久久| 日韩在线免费视频观看| 国产精品美女www爽爽爽视频| 欧美精品日韩www.p站| 亚洲大胆美女视频| 日本成人免费在线| 精品国产老师黑色丝袜高跟鞋| 久久偷看各类女兵18女厕嘘嘘| 国产视频精品在线| 青草青草久热精品视频在线观看| 亚洲va久久久噜噜噜久久天堂| 久久久综合免费视频| 中文字幕日韩精品在线| 疯狂蹂躏欧美一区二区精品| 久久伊人精品视频| 欧美性极品少妇精品网站| 欧美香蕉大胸在线视频观看| 日韩有码在线观看| 成人h片在线播放免费网站| 欧美一区亚洲一区| 美女精品久久久| 亚洲第一区第二区| 亚洲精品美女在线| 午夜精品久久久久久久99热浪潮| 国产精品白丝jk喷水视频一区| 欧美日韩在线观看视频小说| 欧美性猛交xxxx乱大交极品| 日韩中文字幕欧美| 国产免费成人av| 亚洲伊人久久大香线蕉av| 国内精品国产三级国产在线专| 欧美在线观看日本一区| 8090理伦午夜在线电影| 国产精品国模在线| 亚洲区一区二区| 久久久伊人欧美| 国产在线精品一区免费香蕉| 在线成人一区二区| 国产精品91久久| 欧美性视频精品| 亚洲最新av网址| 亚州精品天堂中文字幕| 日韩电影大全免费观看2023年上| 国产高清视频一区三区| 欧美成在线视频| 国产成人精品午夜| 91精品久久久久久久久久久久久久| www.亚洲一区| 欧美激情女人20p| 亚洲欧洲日产国码av系列天堂| 日韩av免费看网站| 国产+人+亚洲| 国产精品自拍偷拍视频| 色偷偷av一区二区三区| 欧美另类极品videosbestfree| 欧美精品久久一区二区| 97免费在线视频| 久久久久久久一区二区三区| 国产精自产拍久久久久久| 亚洲一区二区久久久久久| 欧美日韩在线另类| 精品无人区太爽高潮在线播放| 久久久久久av| 亚洲毛片一区二区| 2019最新中文字幕| 97精品在线观看| 国产精品露脸自拍| 中文字幕少妇一区二区三区| 精品人伦一区二区三区蜜桃网站| 成人综合网网址| 九九热在线精品视频| 成人黄色av免费在线观看| 在线电影中文日韩| 欧美夫妻性生活视频| 欧美日韩国产精品一区二区不卡中文| 久久伊人色综合| 影音先锋欧美在线资源| 日韩欧美一区视频| 亚洲激情小视频| 日本成熟性欧美| 欧美成人免费在线视频| 国产极品精品在线观看| 国产精品jvid在线观看蜜臀| 国产精品扒开腿做爽爽爽男男| 色婷婷av一区二区三区久久| 青青青国产精品一区二区| 亚洲午夜国产成人av电影男同| 欧美精品激情在线| 亚洲久久久久久久久久久| 136fldh精品导航福利| 亚洲精品720p| 亚洲精品456在线播放狼人| 国产精品成人久久久久| 97久久超碰福利国产精品…| 欧美激情视频网站| 国产一区在线播放| 精品福利在线视频| 亚洲在线第一页| 国内精品美女av在线播放| 啊v视频在线一区二区三区| 国产精品va在线播放| 热99精品只有里视频精品| 欧美影院久久久| 亚洲综合第一页| 欧美午夜宅男影院在线观看| 亚洲国产美女精品久久久久∴| 国产色婷婷国产综合在线理论片a| 国产91热爆ts人妖在线| 国产99视频精品免视看7| 欧美极品美女电影一区| 国产91色在线|免| 国产精品三级网站| 久久久久一本一区二区青青蜜月| 亚洲视频在线视频| 亚洲欧美国产精品va在线观看| 国产精品大片wwwwww| 久久久久久久久久久久久久久久久久av| 91精品国产色综合| 国产成人自拍视频在线观看| 欧美精品videosex极品1| 欧美亚州一区二区三区| 亚洲xxx视频| 欧美成在线观看| 国内精品伊人久久| 懂色av影视一区二区三区| 中文国产亚洲喷潮| 日本成人精品在线| 国产精品一区二区久久| 亚洲色图欧美制服丝袜另类第一页| 欧美日韩成人网| 日韩亚洲欧美中文高清在线| 中文字幕日韩电影| 精品高清美女精品国产区| 97视频在线观看成人| 日韩激情av在线播放| 亚洲大尺度美女在线| 国产成人一区二区在线| 国产精品爱久久久久久久| 91av中文字幕| 91精品久久久久久久久久久| 久久天堂电影网| 色婷婷av一区二区三区久久| 海角国产乱辈乱精品视频| 欧美成人剧情片在线观看| 亚洲精品美女在线观看播放| 成人欧美一区二区三区在线湿哒哒| 亚洲综合在线中文字幕| 欧美极品在线视频| 国模gogo一区二区大胆私拍| 中文字幕国产日韩| 欧美色道久久88综合亚洲精品| 亚洲成av人影院在线观看| 国内精品久久久久久中文字幕| 国产成人精品电影| 91精品久久久久久综合乱菊| 欧美在线一区二区三区四| 亚洲高清在线观看| 久久69精品久久久久久国产越南| 国产成一区二区| 成人妇女淫片aaaa视频| 欧美亚洲激情视频|