精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

成人黄色免费观看| 91高潮大合集爽到抽搐| 99久久香蕉| 欧美午夜www高清视频| 区一区二区三区中文字幕| 中文在线a天堂| 欧美激情性爽国产精品17p| 日韩欧美三级在线| 久久精品午夜福利| www在线视频| 久久免费看少妇高潮| 国产91精品在线播放| 国产精品免费人成网站酒店| 琪琪久久久久日韩精品| 欧美日韩一区不卡| 日韩黄色短视频| a天堂中文在线| 成人国产精品免费观看动漫| 国产精品嫩草影院久久久| 欧美成人免费观看视频| 欧美日韩一区二区三区视频播放| 欧美r级在线观看| 亚洲 欧美 日韩系列| 美女尤物在线视频| 国产亚洲1区2区3区| 3d动漫精品啪啪一区二区三区免费| 中文字幕激情小说| 韩日精品视频| 久久视频精品在线| 亚洲欧美va天堂人熟伦| 国产精品国产| 欧美肥胖老妇做爰| 污污视频网站免费观看| 国产丝袜视频在线播放| 中文字幕中文乱码欧美一区二区| 久久久精品有限公司| 亚洲国产日韩在线观看| 国内国产精品久久| 国产精品自拍网| 波多野结衣毛片| 老牛国产精品一区的观看方式| 国内精品伊人久久| 精品无码人妻一区二区三区品| 91精品国产乱码久久久久久| 巨茎人妖videos另类| 国产午夜精品一区理论片飘花 | 欧美亚洲日本| 日韩在线精品强乱中文字幕| 91黄视频在线| 国产精品免费观看久久| 九色porny丨首页入口在线| 亚洲一区二区不卡免费| 欧美大黑帍在线播放| 77导航福利在线| 国产精品美女久久久久av爽李琼| 欧洲视频一区二区三区| 亚洲 欧美 激情 另类| 国产成人综合精品三级| av成人观看| 国产日韩免费视频| 另类综合日韩欧美亚洲| 国产精品丝袜久久久久久高清 | 国产精品国语对白| av中文在线播放| 中文日韩在线| 欧美尤物巨大精品爽| 久久免费视频99| 婷婷伊人综合| 另类专区欧美制服同性| 久草视频手机在线| 一区二区三区在线观看免费| 精品国内亚洲在观看18黄| 后入内射无码人妻一区| 日韩欧美网址| 最近2019中文免费高清视频观看www99 | 午夜精品一区二区三区免费视频 | 亚洲最色的网站| 人人妻人人澡人人爽欧美一区双| 牛牛精品在线视频| 精品国产福利在线| 欧美国产激情视频| 日本免费久久| 欧美日韩中文一区| 日本女人性视频| 国产精品久久久网站| 亚洲国产免费av| 草草影院第一页| 自拍偷拍一区| 日韩中文字幕在线精品| 极品魔鬼身材女神啪啪精品| 欧美一区二区| 97精品久久久| 乱子伦一区二区三区| 美女在线视频一区| 国产精品一二三视频| xxxx18国产| 99re8在线精品视频免费播放| 欧美日韩亚洲一区二区三区四区| 成人精品一区| 亚洲精品免费电影| 欧美成人一区二区在线观看| 日本黄色一区| 日韩视频在线永久播放| 国产亚洲无码精品| 久久激情电影| 久久男人av资源网站| 成年人av网站| 国产精选一区二区三区| 成人在线视频网址| 蜜桃视频在线观看网站| 亚洲精品日日夜夜| 无遮挡又爽又刺激的视频| 欧美美女福利视频| 亚洲国语精品自产拍在线观看| 欧美黄色一级生活片| 一本到12不卡视频在线dvd| 97超碰国产精品女人人人爽 | 少妇aaaaa| 免费日韩av| 91精品免费视频| 天天av综合网| 亚洲精品成人精品456| 国产午夜伦鲁鲁| 国产精品毛片无码| 亚洲乱码国产乱码精品精天堂| 国产美女福利视频| 视频一区二区三区中文字幕| 亚洲综合在线小说| 国产精品一区在线看| 午夜伦欧美伦电影理论片| 中文字幕精品一区二区三区在线| 欧洲vs亚洲vs国产| 欧美高清不卡在线| 一区二区三区黄| 国产视频一区在线播放| 国产二区视频在线| 香蕉免费一区二区三区在线观看| 一区二区三区亚洲| 久久精品女人毛片国产| 国内精品久久久久影院色 | 欧美激情第四页| 欧美一区二区三区激情视频| 日韩视频中文字幕| 69av视频在线观看| 久久一留热品黄| 国产玉足脚交久久欧美| 日韩成人综合网站| 亚洲香蕉成视频在线观看| 日韩黄色a级片| 国产成人在线视频网址| 国产精品夜夜夜爽张柏芝| 91九色综合| 尤物yw午夜国产精品视频| 91视频免费网址| 高清免费成人av| 国产一级片91| 国产欧美视频在线| xxxxx成人.com| 91成人国产综合久久精品| 国产精品亲子伦对白| 九九热在线免费| 精品国精品国产自在久国产应用 | 亚洲一区3d动漫同人无遮挡 | jizz中国少妇| 亚洲柠檬福利资源导航| www.污网站| 天天av综合| 成人国产在线视频| 日本在线天堂| 51午夜精品国产| 日韩乱码人妻无码中文字幕久久| 免费在线成人| 日韩久久精品一区二区三区| 欧美大片免费观看网址| 久久久久www| 99热在线只有精品| 亚洲国产一区视频| 日本丰满少妇裸体自慰| 久久国产直播| 亚洲综合av一区| 国产一区二区三区| 国内精品一区二区三区| 欧美一区二区视频| 91精品国产综合久久精品图片| 欧美黄色一区二区三区| 99精品国产91久久久久久| 黑森林福利视频导航| 日韩精品二区| 91文字幕巨乱亚洲香蕉| 大桥未久在线视频| 夜夜嗨av色一区二区不卡| 91亚洲视频在线观看| 一区二区在线观看免费视频播放| 中国极品少妇videossexhd| 久久综合图片| 国产欧美综合一区| 欧美尿孔扩张虐视频| 国产精品一区二区三区久久 | 日韩一区中文字幕| 在线中文字日产幕| 日韩精品视频网站| 路边理发店露脸熟妇泻火| 青青草久久爱| 国产精品视频资源| 日韩激情电影免费看| 中国china体内裑精亚洲片| 国产喷水吹潮视频www| 天天色综合成人网| 国产在线免费看| av成人老司机| 亚洲欧美手机在线| 香蕉亚洲视频| 超级碰在线观看| 人妖一区二区三区| 粉嫩高清一区二区三区精品视频| 欧美大片高清| 久久久噜噜噜久久久| yourporn在线观看中文站| 日韩精品一区二| 中文资源在线播放| 五月婷婷综合网| 日本在线一级片| 99麻豆久久久国产精品免费| 原创真实夫妻啪啪av| 视频一区二区三区中文字幕| 国内精品在线观看视频| 亚洲精品91| 亚洲国产精品www| 日本欧美三级| av资源一区二区| 国产黄色精品| 日韩免费中文字幕| 丁香花在线高清完整版视频| 日韩中文综合网| 国内精品在线视频| 亚洲精品91美女久久久久久久| 一级做a爰片久久毛片16| 色综合天天综合网国产成人综合天| 精品无码人妻一区二区三| 亚洲视频一区二区免费在线观看| 色哟哟精品观看| 不卡视频在线观看| 日本japanese极品少妇| 高潮精品一区videoshd| 欧美又黄又嫩大片a级| 男女视频一区二区| 茄子视频成人免费观看| 99人久久精品视频最新地址| av日韩在线看| 欧美日韩一区二区高清| 一区二区三区四区欧美日韩| 日本一区二区在线看| 午夜精品一区二区三区在线观看| 亚洲+变态+欧美+另类+精品| 国产欧美欧洲| 国内露脸中年夫妇交换精品| 成人国产一区二区| 在线观看视频一区二区三区| 成人黄动漫网站免费| 涩爱av色老久久精品偷偷鲁| 91在线免费看网站| 电影91久久久| 亚洲最大的网站| 麻豆视频久久| 99精品国产高清在线观看| 精品国产18久久久久久二百| 91视频-88av| 人人九九精品视频| 亚洲一区精品电影| 国产激情一区| 99久久精品无码一区二区毛片 | 中文字幕5566| 久久天天做天天爱综合色| 三上悠亚ssⅰn939无码播放| 国产亚洲综合在线| 亚洲女同二女同志奶水| 中文字幕欧美一区| 欧美国产日韩综合| 亚洲一区二区三区三| 成人免费视频毛片| 色8久久精品久久久久久蜜| 欧美成人一区二区视频| 在线综合视频播放| 狠狠综合久久av一区二区| 亚洲精品电影在线| 超碰免费在线| 久久激情五月丁香伊人| 日韩伦理在线一区| 国产精品爽黄69| 136国产福利精品导航网址应用| 精品综合久久久| 欧州一区二区| 韩国黄色一级大片| 影音先锋日韩资源| 久章草在线视频| 福利91精品一区二区三区| 国产偷人妻精品一区| 国产欧美精品一区二区三区四区 | 国产一区二区在线观看免费视频| 国产精品亚洲第一| 精品人伦一区二区三电影| 一区二区三区在线视频观看58 | 都市激情亚洲色图| 国内精品二区| 亚洲精品aⅴ| av一本久道久久波多野结衣| 蜜桃久久久久| 日本精品一区二区三区不卡无字幕| 国产一区二区三区四区| 中文字幕一区二区三区有限公司 | 国产精品7m凸凹视频分类| 亚洲欧美一二三| 亚洲国产影院| 蜜臀av免费观看| 国产精品白丝av| 国产av自拍一区| 亚洲在线观看免费| 中文天堂在线资源| 亚洲а∨天堂久久精品喷水| 在线看的av网站| 午夜精品久久17c| 四虎精品在线观看| 国产高清精品一区| 亚洲精品成人无限看| 看欧美ab黄色大片视频免费| 成人午夜激情片| 日韩亚洲欧美中文字幕| 欧美日韩国产一区二区三区| 在线观看视频中文字幕| 日韩电影网在线| 深夜国产在线播放| 国产精品女主播| 露出调教综合另类| 成人高清dvd| 另类调教123区| 99久久久无码国产精品衣服| 午夜精品免费在线| 亚洲av少妇一区二区在线观看| 中文字幕免费精品一区高清| 91福利在线免费| 国产精品 日韩| 午夜欧美视频| 伦伦影院午夜理论片| 国产精品久久久久久久岛一牛影视| 台湾佬中文在线| 日韩av在线免费观看| 波多一区二区| 国产伦精品一区二区三区四区视频 | 欧美精品在线播放| 久久精品97| 日韩电影免费观看高清完整| 久久国产精品99国产| 9.1成人看片免费版| 一本高清dvd不卡在线观看| 水莓100国产免费av在线播放| 久久久免费电影| av成人资源网| 青青青免费在线| 99久久精品情趣| 天堂网av手机版| 日韩精品在线播放| 超级碰碰不卡在线视频| 久久精品99| 亚洲在线播放| 人妻一区二区视频| 欧美性色黄大片手机版| jizz在线免费观看| 国产美女久久久| 亚洲乱码电影| 日本少妇xxxx| 欧美性xxxx极品hd欧美风情| 黄色毛片在线看| 国产欧美一区二区三区视频| 99久久99视频只有精品| 国产传媒免费观看| 国产日本欧洲亚洲| 国产一区二区三区视频免费观看| 久久夜色精品亚洲噜噜国产mv | 亚洲影视一区二区三区| 日日夜夜精品视频免费观看| 亚洲mv大片欧洲mv大片精品| 青青久在线视频| 成人黄色短视频在线观看| 综合色一区二区| av网站有哪些| 欧美精品色一区二区三区| 日本大片在线播放| 另类欧美小说| 美女诱惑一区| 午夜精品一区二区三级视频| 欧美成人精品高清在线播放| 日韩脚交footjobhdboots| 色综合久久88色综合天天提莫| 国内成+人亚洲+欧美+综合在线 | 亚洲美腿欧美偷拍| 天天射天天色天天干| 国产精品成人aaaaa网站| 亚洲最新色图| 深爱五月激情网| 91精品国产综合久久精品图片|