成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院203nnxyz-美女毛片在线看-美女免费黄

站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

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

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

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

降低閱讀負(fù)擔(dān),啟發(fā)創(chuàng)作心智,輕松學(xué)習(xí) JavaScript 技巧,日拱一卒,jym,沖~

1. 將數(shù)字定義為常量

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

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

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

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

寫出干凈的 JavaScript:將數(shù)字定義為常量

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

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

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

2. 避免將布爾值作為函數(shù)參數(shù)

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

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

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

然而,我們提倡函數(shù)的單一職責(zé)原則,所以:

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

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

3. 將多個條件封裝

我們經(jīng)常會寫出這樣的代碼:

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

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

寫出干凈的 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 ~

這樣的代碼是聲明式風(fēng)格的代碼,更易讀。

4. 避免否定的判斷條件

條件判斷中,使用否定判斷,會額外造成一種思考負(fù)擔(dān)。

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

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

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

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

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

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

5. 避免大量 if…else…

這一點,本瓜一直就有強(qiáng)調(diào):

比如以下代碼:

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; }

改寫成數(shù)組:

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

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

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


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

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
99精产国品一二三产区区别网站 | 亚洲AV无码乱码在线观看性色扶| 亚洲AⅤ久久久噜噜噜噜| 亚洲国产婷婷香蕉久久久久久| 亚洲色欲综合天堂亚洲| 尤物永久免费AV无码网站| 99热这里有精品| 成人午夜亚洲精品无码区毛片 | 久久久久亚洲AV无码尤物黑人| 蜜臀av免费一区二区三区观看| 欧洲无码精品A码无人区| 少妇精品久久久一区二区三区| 唔嗯啊欧美一级作爱网站| 亚洲人成电影网站色MP4| 中文字幕无码肉感爆乳在线 | 国内揄拍国内精品少妇国语| 久久久久高潮毛片免费全部播放 | 巨胸狂喷奶水WWW自慰网站| 欧美人妻体内射射| 天天躁狠狠躁狠狠躁性色AV| 亚洲国产精品久久久久制服| 最新无码A∨在线观看| 成年免费A级毛片无码| 国产无套中出学生姝| 久亚洲一线产区二线产区三线产区| 欧美性大战XXXXX久久久| 四虎影视1304T| 亚洲人成网亚洲欧洲无码久久| 91国语对白露脸自产拍不卡| 福建妹妹幼儿十岁左右| 精品人妻少妇AV一区二区三区 | 午夜人妻久久久久久久久| 一区二区三区av在线| 菠萝视频免费最新在线观看| 国语自产偷拍精品视频| 女人什么姿势下面最紧| 无码国产精品一区二区免费久久 | 国语自产偷拍精品视频偷拍| 内射老阿姨1区2区3区4区| 天天想你在线观看完整版电影| 亚洲人亚洲精品成人网站| JAPANESE厨房乱TUB偷| 国产精品久久久久久影视不卡| 国产乱子伦农村叉叉叉| 美女扒开腿让男人桶爽30分钟| 日日狠狠久久偷偷色综合| 亚洲国产精品久久久久蜜桃网站| 999久久久免费精品播放| 国产精品99久久精品爆乳| 久久精品国产亚洲AV麻豆蜜芽| 全部免费毛片在线播放| 亚洲AV色香蕉一区二区| 99精品视频一区在线观看| 国产精品涩涩涩视频网站| 老师你乖乖的可以让你少吃点苦头| 全部孕妇毛片丰满孕妇孕交| 亚洲AV无码一区二区乱子伦AS| 99精品全国免费观看视频| 国产男女无遮挡猛进猛出| 蜜臀AV午夜一区二区三区| 我被公么征服了HD中文字幕| 在线成人看片黄A免费看| 国产成人亚洲精品无码综合原创| 国产精品三级一区二区| 久久婷婷五月综合97色直播| 天天躁日日躁狠狠躁AV麻豆| 中国内射XXXX6981少妇| 国产精品视频一区二区三区无码| 免费观看日本XXXXX视频高潮| 无码YY4800亚洲私人影院| 中文字幕一区二区三区乱码视频| 国产精品无码AV无码| 女角色翻白眼流口水流眼泪图片| 性饥渴XXXXXⅩHD| 啊灬啊灬啊灬快灬高潮少妇软件| 国内精品久久人妻无码网站| 欧美叉叉叉BBB网站| 亚洲国产成人久久综合碰碰| 成人作爱Av一级无码| 狼友AV永久网站免费观看武| 午夜精品久久久久9999| 啊~用力CAO我CAO死我视频| 久久av蜜臀人妻一区二区三区 | 亚洲AV午夜成人片精品网站| 产高清在线精品一区二区三区| 久久久久久久久毛片精品| 无码少妇一区二区性色AV| www.comAV在线观看| 久久精品国产亚洲AV忘忧草18| 无码精品久久久久久人妻中字 | 国自产拍偷拍精品啪啪模特| 色偷偷人人澡人人爽人人模| 40岁大乳的熟妇在线观看| 精东传媒VS天美传媒在线老牛| 日本少妇人妻XXXXX18免费| 真人性囗交69图片| 极品无码AV国模在线观看| 无码人妻AⅤ一区二区三区蜜桃| J日本成熟IPHONE69| 两口子交换真实刺激高潮| 亚洲VA中文字幕无码毛片| 成人特黄A级毛片免费视频| 欧美极品性饥渴少妇大战黑人| 一面亲上边一面膜下边| 火柴人战争遗产破解版| 玩弄中国白嫩少妇HD乱| 成 人 免 费 黄 色| 欧美成人少妇人妻精品视频 | 95W乳液78WYW永久区域| 久久精品国产免费播高清无卡| 亚洲AV无码兔费综合| 国产精品日韩欧美一区二区三区 | 欧美乱人伦人妻中文字幕| 亚洲精品无码永久中文字幕 | 无码人妻丰满熟妇区五十路百度| 成人免费无码大片A毛片18| 女人被躁到高潮嗷嗷叫游戏 | 熟女俱乐部 五十路 六十路| 被两个老头咬住吃奶野战| 欧美最猛黑人AAAAAXXX片| √最新版天堂资源网在线下载| 开心久久婷婷综合中文字幕| 亚洲中久无码永久在线观看同| 精品少妇爆乳无码av专用区| 他揉捏她两乳不停呻吟人妻 | 日本A级视频在线播放| AV一本大道香蕉大在线| 男妓用舌头舔我高潮不退小说| 中国人妻XXXXX免费看| 两个男人吮她的花蒂和奶水视频 | 天堂√中文最新版在线| 国产98色在线 | 国| 色欲AV蜜臀AV一区在线| 大屁股大乳丰满人妻| 欧美猛少妇色XXXXⅩBBBB| 中国又粗又大XXXXBBBB| 蜜臀av免费一区二区三区观看 | 性少妇中国内射XXXX狠干| 国产成人久久久精品二区三区| 熟女丝袜香蕉双人女高潮| 国产成人无码A区在线观看导航| 双人床上做剧烈运动可以吗| 国产成人人人97超碰超爽8| 婷婷久久综合九色综合97| 国产丰满大乳无码免费播放| 无码人妻一区二区三区免费| 国产无遮挡又黄又爽不要VIP软| 亚洲 日韩 激情 无码 中出| 国内精品自线一区二区三区2| 亚洲精品AV中文字幕在线| 久久精品无码专区免费东京热| 亚洲综合日韩久久成人AV| 麻花传媒免费网站在线观看| 18禁超污无遮挡无码免费动态图| 狼人青草久久网伊人| 制服 丝袜 有码 无码 中文| 欧美 亚洲 国产 日韩 综AⅤ| WWW.嫩草AV天堂影院| 日剧《轮到你了》| 国产精品泄火熟女| 性色AV.网站免费| 久久久97精品国产一区蜜桃 | 久久精品岛国AV一区二区无码 | 挽起裙子跨开双腿坐下去| 国产日韩精品一区二区三区在线观 | 日本一线二线三线四线五线| 国产成人精品亚洲午夜麻豆| 特殊重囗味SM在线观看无码| 国产激情久久久久影院小草 | 精品无码久久久久久国产| 在线亚洲97SE亚洲综合在线| 欧美性猛交XXXX| 公交车舒婷1一20全文| 亚洲AV无码专区色爱天堂老鸭窝| 久久久久亚洲AV成人网址| 99久久精品日本一区二区免费 | YY111111少妇影院无码老| 婷婷成人五月综合激情| 国产亚洲日韩AV在线播放不卡| 亚洲精品又粗又大又爽A片| 男男GV在线观看| 放在里面边顶边吃饭H| 亚洲AV无码专区国产乱码4| 久久精品中文騷妇女内射| H无码精品动漫在线观看导航 | 国产成人精品2021| 亚洲国产精品无码久久久秋霞1| 久久久久久久人妻无码中文字幕爆| 中文字幕在线不卡一区二区 | 免费无码VA一区二区三区| 处破女处破全过程| 亚洲国产精品成人精品无码区| 内射射满骚B含着小说| 国产成人丝袜视频在线观看| 亚洲中文字幕无码中字| 人妻丰满熟妇av无码区乱| 国产区图片区小说区亚洲区| 中文弹幕日产无线码一区| 私人影院家庭影院| 久久夜色撩人精品国产|