精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

寫了這么多年 JavaScript ,竟然還不知道這些技巧?

開發(fā) 前端
不少人有五年的 JavaScript 經(jīng)驗,但實際上可能只是一年的經(jīng)驗重復(fù)用了五次而已。完成同樣的邏輯和功能,有人可以寫出意大利面條一樣的代碼,也有人兩三行簡潔清晰的代碼就搞定了。

 [[380148]]

不少人有五年的 JavaScript 經(jīng)驗,但實際上可能只是一年的經(jīng)驗重復(fù)用了五次而已。完成同樣的邏輯和功能,有人可以寫出意大利面條一樣的代碼,也有人兩三行簡潔清晰的代碼就搞定了。簡潔的代碼不但方便閱讀,還能減少復(fù)雜邏輯和出錯的可能性。本文就介紹一些常用的JavaScript簡化技巧,日常開發(fā)都用得上。

1. 簡化條件表達式

經(jīng)常碰到這種情況,要判斷某個變量是否為指定的某些值,用常規(guī)的邏輯表達式會很長。我的做法是把這些值放進數(shù)組里:

  1. // 太長的邏輯表達式 
  2. if (x === 'abc' || x === 'def' || x === 'ghi' || x ==='jkl') { 
  3.     //其他邏輯 
  4. // 簡寫 
  5. if (['abc''def''ghi''jkl'].includes(x)) { 
  6.    //其他邏輯 

2. 簡化 if ... else

if...else太常用了,以至于很多人都忘了其實還有其他方式來判斷條件。比如簡單的變量賦值,完全沒必要用這種冗長的語句,一行表達式就搞定了:

  1. // 新手的寫法 
  2. let test= boolean; 
  3. if (x > 100) { 
  4.     test = true
  5. else { 
  6.     test = false
  7. // 簡寫表達式 
  8. let test = (x > 10) ? true : false
  9. // 更直接的 
  10. let test = x > 10; 
  11. console.log(test); 

三元表達式可以做復(fù)雜的條件分支判斷,不過犧牲了一些可讀性:

  1. let x = 300, 
  2. let test2 = (x > 100) ? 'greater 100' : (x < 50) ? 'less 50' : 'between 50 and 100'
  3. console.log(test2); // "greater than 100" 

3. 判空并賦默認值

Code Review 的時候我經(jīng)常看到這樣的代碼,判斷變量不是null,undefined,''的時候賦值給第二個變量,否則給個默認值:

  1. if (first !== null || first !== undefined || first !== '') { 
  2.     let second = first
  3. // 簡寫 
  4. let second = first || ''

4. 簡寫循環(huán)遍歷

for 循環(huán)是最基本的,但是有點繁瑣。可以用for...in、for...of或者forEach代替:

  1. // Longhand 
  2. for (var i = 0; i < testData.length; i++) 
  3.  
  4. // Shorthand 
  5. for (let i in testData) or  for (let i of testData) 

數(shù)組遍歷:

  1. function testData(element, index, array) { 
  2.   console.log('test[' + index + '] = ' + element); 
  3.  
  4. [11, 24, 32].forEach(testData); 
  5. // 打印輸出: test[0] = 11, test[1] = 24, test[2] = 32 

4. 簡化 switch

這個技巧也很常用,把switch 轉(zhuǎn)換成對象的key-value形式,代碼簡潔多了:

  1. // Longhand 
  2. switch (data) { 
  3.   case 1: 
  4.     test1(); 
  5.   break; 
  6.  
  7.   case 2: 
  8.     test2(); 
  9.   break; 
  10.  
  11.   case 3: 
  12.     test(); 
  13.   break; 
  14.   // And so on... 
  15.  
  16. // Shorthand 
  17. var data = { 
  18.   1: test1, 
  19.   2: test2, 
  20.   3: test 
  21. }; 
  22.  
  23. data[anything] && data[anything](); 

5. 簡化多行字符串拼接

如果一個字符串表達式過長,我們可能會拆成多行拼接的方式。不過隨著 ES6 的普及,更好的做法是用模板字符串:

  1. //longhand 
  2. const data = 'abc abc abc abc abc abc\n\t' 
  3.     + 'test test,test test test test\n\t' 
  4. //shorthand 
  5. const data = `abc abc abc abc abc abc 
  6.          test test,test test test test` 

6. 善用箭頭函數(shù)簡化 return

ES6 的箭頭函數(shù)真是個好東西,當函數(shù)簡單到只需要返回一個表達式時,用箭頭函數(shù)最合適不過了,return都不用寫:

  1. Longhand: 
  2. //longhand 
  3. function getArea(diameter) { 
  4.   return Math.PI * diameter 
  5. //shorthand 
  6. getArea = diameter => ( 
  7.   Math.PI * diameter; 

7. 簡化分支條件語句

又是你,if...else if...else!跟switch類似,也可以用key-value形式簡化:

  1. // Longhand 
  2. if (type === 'test1') { 
  3.   test1(); 
  4. else if (type === 'test2') { 
  5.   test2(); 
  6. else if (type === 'test3') { 
  7.   test3(); 
  8. else if (type === 'test4') { 
  9.   test4(); 
  10. else { 
  11.   throw new Error('Invalid value ' + type); 
  12. // Shorthand 
  13. var types = { 
  14.   test1: test1, 
  15.   test2: test2, 
  16.   test3: test3, 
  17.   test4: test4 
  18. }; 
  19.  
  20. var func = types[type]; 
  21. (!func) && throw new Error('Invalid value ' + type); func(); 

8. 重復(fù)字符串 N 次

有時候出于某種目的需要將字符串重復(fù) N 次,最笨的方法就是用for循環(huán)拼接。其實更簡單的方法是用repeat:

  1. //longhand  
  2. let test = '';  
  3. for(let i = 0; i < 5; i ++) {  
  4.   test += 'test ';  
  5. }  
  6. console.log(str); // test test test test test  
  7. //shorthand  
  8. 'test '.repeat(5); 

9. 指數(shù)運算

能省則省,低碳環(huán)保。

  1. //longhand 
  2. Math.pow(2,3); // 8 
  3. //shorthand 
  4. 2**3 // 8 

10. 數(shù)字分隔符

這是比較新的語法,ES2021 提出來的,數(shù)字字面量可以用下劃線分割,提高了大數(shù)字的可讀性:

  1. // 舊語法 
  2. let number = 98234567 
  3.  
  4. // 新語法 
  5. let number = 98_234_567 

總結(jié)

沒啥好總結(jié)的,拿去用就是了。

本文轉(zhuǎn)載自微信公眾號「1024譯站」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系1024譯站公眾號。

 

責(zé)任編輯:武曉燕 來源: 1024譯站
相關(guān)推薦

2020-07-21 18:37:14

代碼條件變量

2018-09-02 15:43:56

Python代碼編程語言

2022-05-05 12:02:45

SCSS函數(shù)開發(fā)

2024-02-20 08:09:51

Java 8DateUtilsDate工具類

2022-03-03 07:00:43

Mybatiswhere標簽

2020-12-14 07:51:16

JS 技巧虛值

2021-12-27 14:12:44

iOS蘋果系統(tǒng)

2017-10-16 13:30:28

windows 10技巧輸入法

2018-07-10 11:33:58

計算器iPhone刪除

2020-10-28 08:06:09

Vue3框架數(shù)據(jù)

2015-07-13 08:49:54

2018-10-06 21:51:37

代碼SOLID編程

2021-10-19 14:49:49

CSS前端

2023-11-13 08:49:54

2016-07-22 17:55:07

云計算

2021-02-26 08:32:28

RocketMQ阿里云

2021-01-28 10:04:40

JavaScript開發(fā)技術(shù)

2023-07-07 14:47:46

JavaScript技巧

2018-10-07 06:30:40

代碼設(shè)計模式面向?qū)ο笤瓌t

2022-09-19 18:32:22

函數(shù)編程語言
點贊
收藏

51CTO技術(shù)棧公眾號

激情婷婷综合网| www久久99| 亚洲一二三在线观看| 亚洲国产视频二区| 黑人狂躁日本妞一区二区三区| 日本一区二区三区www| 精品国产亚洲一区二区麻豆| 国产一区二区三区久久| 久久色精品视频| 精品久久久久久中文字幕人妻最新| 91p九色成人| 亚洲大型综合色站| 亚洲欧美日韩国产yyy| 手机在线观看免费av| 久久福利资源站| 18一19gay欧美视频网站| 疯狂试爱三2浴室激情视频| 亚洲丁香日韩| 欧美岛国在线观看| www.日本一区| 桃色一区二区| 亚洲成人一区二区在线观看| 国产精品美女在线播放| 国产一二三区在线视频| 成人av综合在线| 91日韩在线播放| 性色av一区二区三区四区| 亚洲一区日韩| 久久久久久久久综合| 粉嫩av性色av蜜臀av网站| 精品一区av| 亚洲毛茸茸少妇高潮呻吟| 亚洲成人激情小说| 婷婷久久综合九色综合99蜜桃| 色狠狠色噜噜噜综合网| 久久成人免费观看| 男女免费观看在线爽爽爽视频| 国产精品国产自产拍高清av| 欧洲一区二区在线| 欧美色18zzzzxxxxx| 成人动漫一区二区三区| 99re视频在线观看| 亚洲第一天堂网| 国产精品91一区二区| 成人网页在线免费观看| 亚洲一区二区视频在线播放| 日韩影院精彩在线| 日本韩国欧美精品大片卡二| 日韩三级一区二区三区| 亚洲激情网址| 97精品国产91久久久久久| 国产午夜小视频| 一区二区亚洲精品| 91爱视频在线| www.国产com| 日韩高清中文字幕一区| 国产精品成av人在线视午夜片| 亚洲成人av影片| 日韩在线一区二区三区| 国产精品偷伦视频免费观看国产| 欧美激情一区二区三区免费观看 | 97精品电影院| 精品中文字幕人| 精品欧美不卡一区二区在线观看| 久久久三级国产网站| 日本亚洲欧洲精品| se在线电影| 国产精品久久久久桃色tv| 亚洲欧美日韩不卡一区二区三区| 黄色网在线看| 午夜精品久久久久| 国产aaa一级片| 成人福利一区二区| 51久久夜色精品国产麻豆| 麻豆精品国产传媒| 青青一区二区| 中文字幕欧美国内| 欧美成人精品激情在线视频| 99精品福利视频| 国产精品高清在线| 99久久精品国产色欲| 成人精品免费看| 日韩高清三级| 18加网站在线| 欧美午夜宅男影院在线观看| 在线观看免费不卡av| 高潮久久久久久久久久久久久久| 亚洲欧美在线第一页| 亚洲色图第四色| 欧美不卡一区| 日本精品免费一区二区三区| 国产精品女同一区二区| 成人av网址在线| 伊人久久av导航| 久草在线视频网站| 欧美系列亚洲系列| 亚洲中文字幕无码一区| 欧美精品乱码| 午夜精品久久久久久久男人的天堂 | 婷婷综合网站| 97国产在线观看| 国产又粗又猛又色又| av亚洲精华国产精华精华 | 在线精品国产| 日本精品久久久| 亚洲精品国产suv一区| 国产欧美精品日韩区二区麻豆天美| 欧美黄网在线观看| av亚洲一区| 亚洲毛片一区二区| 久草视频精品在线| 极品少妇xxxx精品少妇| 久久久福利视频| 色呦呦在线视频| 欧美三级日本三级少妇99| 水蜜桃av无码| 欧美日韩一视频区二区| 成人xxxxx| 国产粉嫩一区二区三区在线观看 | 欧美亚洲日本一区二区三区| 24小时成人在线视频| 亚洲色图18p| 青青草免费观看视频| 国产成人精品亚洲777人妖| 亚洲精品欧洲精品| 欧美动物xxx| 日韩成人在线网站| 日韩欧美a级片| 成人精品在线视频观看| 欧美一级特黄aaaaaa在线看片| 成人va天堂| 亚洲欧美在线x视频| 日本熟妇毛耸耸xxxxxx| 丁香网亚洲国际| 精品免费久久久久久久| 国产欧美视频在线| 另类色图亚洲色图| av 一区二区三区| 亚洲综合在线电影| 日本一区二区三区四区| 国产免费黄视频| 美女视频免费精品| 亚洲91精品在线观看| 刘玥91精选国产在线观看| 亚洲一区二区三区小说| 国产精品成人免费一区久久羞羞| 欧美日本一区| 懂色一区二区三区av片| 大桥未久在线播放| 亚洲第一男人天堂| 国产成人在线免费观看视频| 北岛玲一区二区三区四区| 国产无限制自拍| 精品综合久久88少妇激情| 97欧美精品一区二区三区| 色窝窝无码一区二区三区| 亚洲高清视频中文字幕| 一女三黑人理论片在线| 久久综合亚州| 亚洲美女搞黄| 久久久国产精品入口麻豆| 欧美日本精品在线| 婷婷在线免费观看| 在线精品观看国产| 国精产品视频一二二区| 国产精品一级片| 男人的天堂狠狠干| 国产探花在线精品一区二区| 国产精品自拍小视频| 精精国产xxxx视频在线| 欧美tk丨vk视频| 日韩不卡视频在线| 国产精品乱码久久久久久| www.成年人| 99视频精品| 亚洲午夜精品久久| 免费欧美网站| 秋霞av国产精品一区| 在线观看免费黄视频| 日韩欧美亚洲一区二区| 成年人视频在线免费看| 国产精品视频线看| youjizz.com日本| 日韩国产欧美在线播放| 成人短视频在线观看免费| 久久丝袜视频| 国产精品一二三在线| 国精一区二区三区| 亚洲一区二区久久| 亚洲av无码片一区二区三区| 日韩欧美国产骚| 欧洲第一无人区观看| 91在线观看下载| 在线黄色免费观看| 亚洲国产精品第一区二区三区| 日韩高清dvd| 国产精品一区二区中文字幕 | 国产精品第一国产精品| 欧美乱大交xxxxx| 成人三级黄色免费网站| 日韩久久精品一区| 中文字幕码精品视频网站| 亚洲国产欧美一区二区三区丁香婷| 影音先锋制服丝袜| 成人黄色在线视频| 国产乱女淫av麻豆国产| 先锋影音久久| 少妇大叫太大太粗太爽了a片小说| 国产一区日韩| 国内外成人免费视频| 日韩一级特黄| 国产精品久久久av| 色偷偷偷在线视频播放| 欧美高清视频免费观看| 色网站在线看| 亚洲色图五月天| 五月婷婷深深爱| 日韩精品一区二区三区蜜臀| 国产精品呻吟久久| 欧美性受极品xxxx喷水| 99精品在线播放| 天天综合天天做天天综合| 免费一级肉体全黄毛片| 亚洲欧美日韩久久精品| 国产精品久久久久久久av| 久久亚洲欧美国产精品乐播| 国产在线不卡av| 成人高清免费观看| 91传媒理伦片在线观看| 成人小视频免费在线观看| 日本特黄在线观看| 狠狠色狠狠色综合系列| 亚洲 国产 图片| 久久精品久久综合| 欧美午夜aaaaaa免费视频| 日韩不卡一区二区三区| 免费激情视频在线观看| 麻豆亚洲精品| 日韩视频免费在线播放| 久久精品日韩欧美| 色一情一乱一伦一区二区三区日本| 久久xxxx| 手机看片福利盒子久久| 青青草97国产精品免费观看无弹窗版| 人妻有码中文字幕| 日韩电影在线一区二区三区| 爱情岛论坛vip永久入口| 日本伊人色综合网| 亚洲精品久久久久久宅男| 久久成人免费日本黄色| 亚洲精品免费一区亚洲精品免费精品一区| 日本欧美韩国一区三区| 午夜两性免费视频| 激情综合网激情| 国产人妻精品午夜福利免费| 国产99久久久国产精品潘金| av天堂一区二区| 99久久精品国产精品久久| av在线网站观看| 国产三级三级三级精品8ⅰ区| 偷拍夫妻性生活| 国产精品水嫩水嫩| 国产一区第一页| 一区二区三区影院| 久草国产精品视频| 日本黄色一区二区| 91久久久久久久久久久久| 日韩三级在线观看| 性感美女一级片| 在线电影av不卡网址| 在线中文字幕视频观看| 久久久久久久999| 性欧美videohd高精| 国产视频999| 成人av影音| 日韩精品福利视频| 欧美一区国产在线| 男人日女人bb视频| 激情六月婷婷久久| 久久人人妻人人人人妻性色av| 欧美经典一区二区三区| 久久精品一级片| 色天天综合色天天久久| 精品人妻无码一区二区色欲产成人| 亚洲成人激情视频| 2021av在线| 午夜精品国产精品大乳美女| 99热播精品免费| 动漫精品视频| 日韩伦理一区| 老子影院午夜伦不卡大全| 日本在线不卡视频| 91超薄肉色丝袜交足高跟凉鞋| 国产欧美一区二区精品忘忧草| 黄色一级视频免费观看| 欧美性视频一区二区三区| 性生活视频软件| 中文日韩在线观看| 黄毛片在线观看| 91亚洲午夜在线| 久久91成人| 久久综合久久久久| 久久精品国产在热久久| 无码人妻aⅴ一区二区三区| 成人欧美一区二区三区小说| 欧美啪啪小视频| 亚洲成人精品久久久| 国产二区三区在线| 国产精品久久久久av| 人人网欧美视频| 男人的天堂avav| 国产一区三区三区| 国产在线免费av| 日韩欧美在线一区| 黄色av网址在线| 欧美日本中文字幕| 日本欧美在线| 日本一区二区三区视频在线观看| 亚洲精选在线| 国产51自产区| 一级精品视频在线观看宜春院 | 一区中文字幕在线观看| 久久只有精品| 成人午夜剧场视频网站| 五月天中文字幕一区二区| www.色婷婷.com| 久久影院在线观看| 欧美黑粗硬大| 亚洲二区三区四区| 天堂影院一区二区| 午夜理伦三级做爰电影| 疯狂做受xxxx欧美肥白少妇| 天堂av资源网| 亚州精品天堂中文字幕| 成人黄色av网址| 国产情侣第一页| 丁香婷婷综合网| 黄色小视频在线免费看| 精品欧美黑人一区二区三区| 综合久久2019| 北条麻妃高清一区| 国产精品啊啊啊| 人妻精油按摩bd高清中文字幕| 亚洲精品自拍动漫在线| 国产高清不卡视频| 欧美高清在线观看| 国内自拍欧美| 草草久久久无码国产专区| 91麻豆成人久久精品二区三区| 国产成人无码精品亚洲| 精品无人国产偷自产在线| 波多野结衣久久精品| 日韩激情久久| 麻豆91在线播放免费| 午夜精品一区二区三区视频| 欧美大片日本大片免费观看| 国产丝袜在线观看视频| 精品产品国产在线不卡| 久久久国产亚洲精品| 女人十八毛片嫩草av| 欧美日韩成人综合在线一区二区 | 一区二区三区日韩欧美| 色欲久久久天天天综合网| 欧美在线精品免播放器视频| 狠狠操综合网| 亚洲第一成肉网| 亚洲午夜国产一区99re久久| 欧美日韩国产中文字幕在线| 国产精品激情av电影在线观看| 天天做天天爱综合| 永久免费未满蜜桃| 欧美中文字幕亚洲一区二区va在线| 在线观看黄色av| 国产91免费视频| 久久伊人亚洲| 91人妻一区二区三区蜜臀| 精品国产乱码久久| 九色成人搞黄网站| a级片一区二区| wwwwww.欧美系列| 亚洲中文字幕一区二区| 久久久久久久久久久免费精品| 精品国产欧美日韩| 久久久久中文字幕亚洲精品 | 欧美亚洲视频在线观看| 久久一区二区三区喷水| 中国特级黄色大片| 欧美日韩成人综合在线一区二区| h片在线观看下载| 亚洲三区在线观看| 99在线视频精品| 一区二区三区免费在线视频| 性欧美在线看片a免费观看| 日韩激情在线| 91黄色免费视频| 欧美一区二区三区在线看| 男人最爱成人网| 日韩精品在线中文字幕| 国产精品久久久久一区| 天堂在线免费av|