久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

如何寫出干凈的JS代碼?5個編寫小技巧分享

如何寫出干凈的JS代碼?下面本篇文章就來給大家整理分享5 個寫出干凈 JavaScript 的小技巧,希望對大家有所幫助!

如何寫出干凈的JS代碼?5個編寫小技巧分享

降低閱讀負擔,啟發創作心智,輕松學習 JavaScript 技巧,日拱一卒,jym,沖~

1. 將數字定義為常量

我們常常會用到數字,比如以下代碼:

const isOldEnough = (person) => {   return person.getAge() >= 100; }

誰知道這個 100 具體指的是什么?我們通常需要結合函數上下文再推測、判斷這個 100 它可能是具體代表一個什么值。

如果這樣的數字有多個的話,一定會很容易造成更大的困惑。

寫出干凈的 JavaScript:將數字定義為常量

即可清晰的解決這個問題:

const AGE_REQUIREMENT = 100; const isOldEnough = (person) => {   return person.getAge() >= AGE_REQUIREMENT; }

現在,我們通過聲明常量的名字,即可立馬讀懂 100 是“年齡要求”的意思。修改時也能迅速定位、一處修改、多處生效。

2. 避免將布爾值作為函數參數

將布爾值作為參數傳入函數中是一種常見的容易造成代碼混亂的寫法。

const validateCreature = (creature, isHuman) => {   if (isHuman) {     // ...   } else {     // ...   } }

布爾值作為參數傳入函數不能表示出明確的意義,只能告訴讀者,這個函數將會有判斷發生,產生兩種或多種情況。

然而,我們提倡函數的單一職責原則,所以:

寫出干凈的 JavaScript:避免將布爾值作為函數參數

const validatePerson = (person) => {   // ... } const validateCreature = (creature) => {   // ... }

3. 將多個條件封裝

我們經常會寫出這樣的代碼:

if (   person.getAge() > 30 &&   person.getName() === "simon" &&   person.getOrigin() === "sweden" ) {   // ... }

不是不行,只是隔久了會一下子看不懂這些判斷到底是要干嘛的,所以建議把這些條件用變量或函數進行封裝。

寫出干凈的 JavaScript:將多個條件封裝

const isSimon =   person.getAge() > 30 &&   person.getName() === "simon" &&   person.getOrigin() === "sweden"; if (isSimon) {   // ... }

或者

const isSimon = (person) => {   return (     person.getAge() > 30 &&     person.getName() === "simon" &&     person.getOrigin() === "sweden"   ); }; if (isSimon(person)) {   // ... }

噢,原來這些條件是為了判斷這個人是不是 Simon ~

這樣的代碼是聲明式風格的代碼,更易讀。

4. 避免否定的判斷條件

條件判斷中,使用否定判斷,會額外造成一種思考負擔。

比如下面的代碼,條件 !isCreatureNotHuman(creature) 雙重否定,讀起來就會覺得有點費勁。

const isCreatureNotHuman = (creature) => {   // ... }  if (!isCreatureNotHuman(creature)) {   // ... }

寫出干凈的 JavaScript:避免否定的判斷條件

改寫成以下寫法則讀起來更輕松,雖然這只是一個很小的技巧,但是在大量的代碼邏輯中,多處去遵循這個原則,肯定會很有幫助。

很多時候讀代碼就是讀著讀著,看到一個“很爛”的寫法,就忍不了了,細節會疊加,千里之堤潰于蟻穴。

const isCreatureHuman = (creature) => {   // ... } if (isCreatureHuman(creature)) {   // ... }

5. 避免大量 if…else…

這一點,本瓜一直就有強調:

比如以下代碼:

if(x===a){    res=A }else if(x===b){    res=B }else if(x===c){    res=C }else if(x===d){     //... }

改寫成 map 的寫法:

let mapRes={     a:A,     b:B,     c:C,     //... } res=mapRes[x]

再比如以下代碼:

const isMammal = (creature) => {   if (creature === "human") {     return true;   } else if (creature === "dog") {     return true;   } else if (creature === "cat") {     return true;   }   // ... return false; }

改寫成數組:

const isMammal = (creature) => {   const mammals = ["human", "dog", "cat", /* ... */];   return mammals.includes(creature); }

寫出干凈的 JavaScript:避免大量 if…else…

所以,當代碼中出現大量 if…else… 時,多想一步,是否能稍加改造讓代碼看起來更加“干凈”。


小結:上述技巧可能在示例中看起來不值一提,但是在實際的項目中,當業務邏輯復雜起來、當代碼量變得很大的時候,這些小技巧一定能給出正面的作用、幫助,甚至超乎想象。

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
国产一区二区三区久久| 国产a亚洲精品| 日产精品一区| 久草免费在线视频| 亚洲黄色中文字幕| 一区二区精品伦理...| 日韩大片在线播放| 136国产福利精品导航网址| 今天的高清视频免费播放成人| 欧美午夜精彩| 亚洲一区二区毛片| 日本中文字幕一区二区视频| 欧美久久精品| 久久精品国产成人一区二区三区| 久久精品免费看| 亚洲综合在线电影| 99热国内精品| 综合激情在线| 欧美1区二区| 久久久久.com| 丝袜美腿成人在线| 日韩精品一级| 国产成人久久| 欧美日韩在线网站| 中文字幕av亚洲精品一部二部| 日韩av网站免费在线| 成人高清一区| 视频一区在线视频| 美女视频一区在线观看| 人人精品亚洲| 日韩在线观看一区二区三区| 欧美啪啪一区| 国产在线看片免费视频在线观看| 欧美日韩国产探花| 国产乱子精品一区二区在线观看| 老牛影视精品| 蜜臀久久99精品久久久画质超高清 | 亚洲2区在线| 欧美国产视频| 亚洲一级影院| 国产免费久久| 亚洲免费福利| 亚洲一区有码| 国产成人在线中文字幕| 免费视频久久| 久久精品国产久精国产爱| 好看的av在线不卡观看| 国产亚洲久久| 欧美 日韩 国产一区二区在线视频| 日本不卡的三区四区五区| 最近高清中文在线字幕在线观看1| 日韩精品一二三区| 丰满少妇一区| 亚洲综合小说| 97精品中文字幕| 亚洲精品极品| 国产一区调教| 久久亚洲二区| 成人在线免费观看91| 三级欧美在线一区| 久久久久97| 最新亚洲国产| 999国产精品视频| 国产欧美亚洲精品a| 欧美va亚洲va日韩∨a综合色| 国产日韩一区二区三免费高清 | 国际精品欧美精品| 99国产精品99久久久久久粉嫩| 国产精品中文字幕亚洲欧美| 欧美高清一区| 精品国产精品久久一区免费式| 丝袜亚洲另类欧美| av资源新版天堂在线| 日韩精品1区2区3区| 久久在线视频免费观看| 美女国产一区二区三区| 亚洲精品四区| 偷拍欧美精品| 丁香婷婷久久| 国产日产高清欧美一区二区三区| 9色国产精品| 国产亚洲一区二区手机在线观看| 欧美永久精品| 免费日韩视频| 婷婷中文字幕一区| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 国产欧美视频在线| 久久99伊人| 久久三级福利| 国产精品xx| 欧美精品导航| 欧美久久精品| 日韩不卡在线观看日韩不卡视频| 日韩网站在线| 精品一区在线| 国产99久久| 日韩毛片在线| 欧美日韩国产观看视频| 久久精品福利| 国产精品欧美大片| 日韩精品中文字幕吗一区二区| 欧美专区在线| 制服诱惑一区二区| 免费视频一区三区| 99久久精品网| 久久精品123| 久久久人人人| 久久精品欧美一区| 日本а中文在线天堂| 动漫av一区| 国产h片在线观看| 91麻豆国产自产在线观看亚洲| 高清在线一区| av中文字幕在线观看第一页 | 国产免费久久| 日韩精品91亚洲二区在线观看| 综合激情网...| 日韩在线黄色| 国产亚洲一区| 国产精品视频一区二区三区| 国产亚洲字幕| 麻豆91精品91久久久的内涵| 国产精品久久久免费| 国产精品视频一区视频二区| 免费在线欧美黄色| 福利片在线一区二区| 国产福利片在线观看| а√天堂8资源中文在线| 超碰超碰人人人人精品| 久久精品影视| 日韩一区二区久久| 免费观看日韩电影| 国产私拍福利精品视频二区| 欧美a一区二区| 日韩久久视频| 狠狠爱www人成狠狠爱综合网| 野花国产精品入口| 蜜臀精品久久久久久蜜臀| 免费欧美在线视频| 日韩av影院| 精品精品久久| 婷婷激情一区| 日韩视频精品在线观看| 中文亚洲免费| 综合亚洲自拍| 国产日韩欧美中文在线| 精品国产成人| 国产在线不卡| 在线免费观看亚洲| 国产欧美在线| 日韩中文首页| 狠狠久久婷婷| 91嫩草精品| 国产一区二区三区不卡视频网站| 日韩久久一区二区三区| 9国产精品视频| 国产麻豆精品久久| 久久男女视频| 日本 国产 欧美色综合| 日韩精品中文字幕一区二区| 美女视频黄久久| 亚洲电影在线| 欧美日一区二区在线观看| 亚洲欧美日本日韩| 91精品蜜臀一区二区三区在线| 亚洲精品高潮| 视频一区二区三区入口| 久久久久久网| 日韩免费福利视频| 福利片在线一区二区| 精品在线网站观看| 国产精品久久久免费| 中文字幕av一区二区三区人| 97精品在线| 国产一区二区三区探花| 日韩毛片网站| 亚洲精品在线国产| 国产成人精品一区二区三区视频 | 高清日韩欧美| 亚洲主播在线| 麻豆国产精品777777在线| 在线一区电影| 国产高清精品二区| 香蕉成人av| 婷婷综合一区| 成人福利视频| 91亚洲无吗| 亚洲永久字幕| 激情欧美日韩一区| 国产欧美激情| 五月天久久久| 精品成av人一区二区三区| 亚洲一区二区三区高清| 国产成人精品一区二区三区视频| 亚洲有吗中文字幕| 久久久国产亚洲精品| 国产精品分类| 蜜臀久久99精品久久久画质超高清 | 精品视频91| 中文字幕亚洲精品乱码|