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

JavaScript速記技巧:向著更清晰的代碼邁進

開發 前端
無論是哪個編程語言的速記技巧,都有助于你編寫更好、更清晰的代碼。借助速記技巧,不僅可以提升代碼可讀性,還可以編寫更少代碼完成任務。下面是一些JavaScript的速記技巧。

本文轉載自公眾號“讀芯術”(ID:AI_Discovery)。

無論是哪個編程語言的速記技巧,都有助于你編寫更好、更清晰的代碼。借助速記技巧,不僅可以提升代碼可讀性,還可以編寫更少代碼完成任務。下面是一些JavaScript的速記技巧。

[[356172]]

1. 聲明變量

  1. //Longhand  
  2. let x;  
  3. let y = 20;  
  4. //Shorthand  
  5. let x, y = 20

2. 給多個變量賦值

可以在一行代碼中給多個變量同時賦值。

  1. //Longhand  
  2. let marks = 26;  
  3. let result;  
  4. if(marks >= 30){ 
  5.  result = 'Pass';  
  6. }else{  
  7.  result = 'Fail';  
  8. }  
  9. //Shorthand  
  10. let result = marks >= 30 ? 'Pass' : 'Fail'; 

3. 三元運算符

使用三元運算符(條件),五行代碼可以簡化為一行。

  1. //Longhand  
  2. let imagePath;  
  3. let path = getImagePath();  
  4. if(path !== null && path !== undefined && path !== '') {  
  5.   imagePath = path;  
  6. } else {  
  7.   imagePath = 'default.jpg';  
  8. }  
  9. //Shorthand  
  10. let imagePath = getImagePath() || 'default.jpg'; 

4. 分配默認值

我們可以使用OR(||)短路評估為變量指定一個默認值,以防期望值為空。

  1. //Longhand  
  2. let imagePath;  
  3. let path = getImagePath();  
  4. if(path !== null && path !== undefined && path !== '') {  
  5.   imagePath = path;  
  6. } else {  
  7.   imagePath = 'default.jpg';  
  8. }  
  9. //Shorthand  
  10. let imagePath = getImagePath() || 'default.jpg'; 

5. AND(&&)短路評估

如需只在變量為真的情況下調用一個函數,則可使用AND(&&)短路評估在一行內完成。

  1. //Longhand  
  2. if (isLoggedin) { 
  3.  goToHomepage();  
  4. }  
  5. //Shorthand  
  6. isLoggedin && goToHomepage(); 

速記寫法這一行,只有在isLoggedin返回結果為真時,goToHomepage()才會執行。

6. 交換兩個變量

通常交換兩個變量需要借助第三個變量。然而通過數組析構賦值,可以輕松交換兩個變量。

  1. //Longhand  
  2. console.log('You got a missed call from ' + number + ' at ' + time);  
  3. //Shorthand  
  4. console.log(`You got a missed call from ${number} at ${time}`); 

7. 箭頭函數

  1. //Longhand  
  2. function add(num1, num2) {  
  3.    return num1 + num2;  
  4. }  
  5. //Shorthand  
  6. const add = (num1, num2) => num1 + num2; 

8. 模板文字

我們通常使用“+”運算符連接字符串值和變量。有了ES6模板,我們可以通過一種更簡單的方式實現。

  1. //Longhand  
  2. console.log('JavaScript, often abbreviated as JS, is a\n' +             'programming language thatconforms to the \n' +  
  3. 'ECMAScript specification. JavaScript is high-level,\n' +  
  4. 'often just-in-time compiled, and multi-paradigm.' ); //Shorthand  
  5. console.log(`JavaScript, often abbreviated as JS, is a programming languagethat conforms to the ECMAScript specification. JavaScript is high-level, oftenjust-in-time compiled, and multi-paradigm.`); 

9. 多行字符串

對于多行字符串,我們通常使用“+”運算符和換行轉義符(\n)進行連接。然而可以使用“`”簡化代碼。

  1. let firstname = 'Amitav';  
  2. let lastname = 'Mishra'; //Longhand  
  3. let obj = {firstname: firstname, lastname: lastname};  
  4. //Shorthand  
  5. let obj = {firstname, lastname}; 

10. 多重條件檢查

對于多值匹配,可以將所有的值放在數組中,并使用indexOf()或includes()方法。

  1. //Longhand  
  2. if (value === 1 || value === 'one' || value === 2 || value === 'two') {  
  3.      // Execute some code  
  4. }  
  5. // Shorthand 1 
  6. if ([1, 'one', 2, 'two'].indexOf(value) >= 0) {  
  7.     // Execute some code  
  8. }// Shorthand 2 
  9. if ([1, 'one', 2, 'two'].includes(value)) {  
  10.     // Execute some code  

11. 對象屬性分配

如果變量名和對象鍵名相同,可以只在對象文字中設置變量名,不用同時設置鍵和值。JavaScript會自動將鍵名設置為變量名,并將該值賦為變量值。

  1. let firstname = 'Amitav';  
  2. let lastname = 'Mishra'; //Longhand  
  3. let obj = {firstname: firstname, lastname: lastname};  
  4. //Shorthand  
  5. let obj = {firstname, lastname}; 

12. 字符串類型轉換為數字類型

有內置的方法,如parseInt 和parseFloat ,可用于將字符串轉換為數字。更簡單的方法是,在字符串值前加上一元運算符(+)。

  1. //Longhand  
  2. let total = parseInt('453');  
  3. let average = parseFloat('42.6');  
  4. //Shorthand  
  5. let total = +'453';  
  6. let average = +'42.6'; 

13. 多次重復同一字符串

若要將字符串重復指定的次數,可以使用for 循環。但是使用repeat() 方法可以在一行中完成。

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

小貼士:想通過給某人發100次“對不起”進行道歉?試試repeat()方法。如果你想在每次重復時另起一行,只需加上\n。

14. 指數冪

我們可以用Math.pow()方法求冪。然而用雙星號(**)有一個更短的語法。

  1. //Longhand  
  2. const power = Math.pow(4, 3); // 64  
  3. // Shorthand  
  4. const power = 4**3; // 64 

15. 按位雙非運算符

按位雙非運算符可以替代Math.floor()方法。

  1. //Longhand  
  2. const floor = Math.floor(6.8); // 6  
  3. // Shorthand  
  4. const floor = ~~6.8; // 6 

按位雙非運算符方法僅適用于32位整數,即(2**31)-1 = 2147483647。所以對于任何高于2147483647的數字,按位運算符(~~)都會給出錯誤的結果,所以在這種情況下建議使用Math.floor()。

16. 找出數組的最大值和最小值

可以使用for循環遍歷數組的每個值,從而找到最大值或最小值。也可以使用Array.reduce()方法來查找數組中的最大值和最小值。

但是使用擴展運算符則可在一行中完成。

  1. // Shorthand  
  2. const arr = [2, 8, 15, 4];  
  3. Math.max(...arr); // 15  
  4. Math.min(...arr); // 2 

17. For循環

為遍歷數組,通常使用的是傳統的for 循環,也可以使用for...of 循環進行遍歷。如需訪問每個值的索引,可以使用for...in循環。

  1. let arr = [10, 20, 30, 40]; //Longhand  
  2. for (let i = 0; i < arr.length; i++) {  
  3.   console.log(arr[i]);  
  4. } //Shorthand  
  5. //for of loop  
  6. for (const val of arr) {  
  7.   console.log(val);  
  8. } //for in loop  
  9. for (const index in arr) {  
  10.   console.log(arr[index]);  

使用for...in循環還可以遍歷對象屬性。

  1. let obj = {x: 20, y: 50};  
  2. for (const key in obj) {  
  3.   console.log(obj[key]);  

18. 數組合并

  1. let arr1 = [20, 30]; //Longhand  
  2. let arr2 = arr1.concat([60, 80]);  
  3. // [20, 30, 60, 80]  
  4. //Shorthand  
  5. let arr2 = [...arr1, 60, 80];  
  6. // [20, 30, 60, 80] 

19. 多級對象的深度克隆

要深度克隆多級對象,可以遍歷每個屬性,并檢查當前屬性是否包含對象。如果是,則通過傳遞當前屬性值(即嵌套對象)對同一函數進行遞歸調用。也可以使用JSON.stringify()和JSON.parse()在一行中實現。

  1. let obj = {x: 20, y: {z: 30}};  
  2. //Longhand  
  3. const makeDeepClone = (obj) => {  
  4.   let newObject = {};  
  5.   Object.keys(obj).map(key => {  
  6.     if(typeof obj[key] === 'object'){  
  7.       newObject[key] =makeDeepClone(obj[key]);  
  8.     } else {  
  9.       newObject[key] = obj[key];  
  10.     }  
  11.   });  
  12.  return newObject;  
  13. } const cloneObj = makeDeepClone(obj);  
  14. //Shorthand  
  15. const cloneObj = JSON.parse(JSON.stringify(obj)); 

如果對象屬性以函數作為值,則速記技巧(JSON.parse(JSON.stringify(obj)))無效。因為JSON.stringif作用于對象時,以函數作為值的屬性會從對象中移除。所以這種情況下,還是要用普通寫法。

20. 從字符串中獲取字符

  1. let str = 'jscurious.com'; //Longhand  
  2. str.charAt(2); // c  
  3. //Shorthand  
  4. str[2]; // c 

希望本文能讓你有所收獲。

 

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2009-10-26 10:56:55

接入網技術

2022-08-28 19:03:18

JavaScript編程語言開發

2022-05-10 10:28:21

JavaScript代碼

2023-10-13 08:00:00

網絡層開發

2019-07-31 10:24:16

JavaScript瀏覽器口袋妖怪

2024-09-14 11:23:19

2023-07-30 17:10:32

TypeScript開發

2023-06-19 15:36:30

JavaScrip技巧開發

2021-09-17 15:31:47

代碼JavaScript數組

2020-08-06 16:34:48

Python開發工具

2025-04-29 02:22:00

Python技巧CLI

2014-01-23 10:53:08

IT書籍黑客翻譯

2024-11-11 17:00:27

字典壓縮Python代碼

2025-04-29 10:04:41

JavaScripMap代碼

2022-12-01 11:21:28

布線基礎設施數據中心

2020-09-26 21:50:26

JavaScript代碼開發

2023-05-04 23:54:02

JavaScrip代碼技巧

2022-11-28 23:44:26

JavaScript技巧程序員

2021-12-29 16:34:19

JavaScript代碼庫開發

2025-03-03 12:00:00

JavaScriptfor 循環語言
點贊
收藏

51CTO技術棧公眾號

日本a级片在线播放| 国产精品久久久久久久久粉嫩av| 日韩精品xxx| 高清视频在线观看三级| 91亚洲男人天堂| 国产精品青草久久久久福利99| 手机在线免费看毛片| 精品在线网站观看| 欧美浪妇xxxx高跟鞋交| aa视频在线播放| 在线a免费看| 成人精品国产一区二区4080| 国产成人在线视频| 免费又黄又爽又色的视频| 九热爱视频精品视频| 欧美一区二区网站| 无码人妻丰满熟妇区毛片| 国产三区在线观看| 久久夜色精品一区| 国产成人av一区二区三区| 麻豆精品久久久久久久99蜜桃| 91精品啪在线观看国产81旧版| 日韩精品黄色网| 国产高清av片| 国产精品伊人| 色综合一个色综合| 国产爆乳无码一区二区麻豆| 日韩在线资源| 久久视频一区二区| 国产一区不卡在线观看| 99国产精品欲| 毛片av一区二区三区| 欧美亚洲激情视频| 国产在线观看免费av| 国产精品精品国产一区二区| 亚洲午夜女主播在线直播| 色综合久久久无码中文字幕波多| 欧洲亚洲精品| 色综合久久综合网欧美综合网| 精品视频在线观看一区二区| 亚洲s色大片| 久久精品夜色噜噜亚洲a∨| 精品999在线观看| 欧美 日韩 国产 成人 在线| 国产精品中文有码| 91手机视频在线观看| 国产乱码在线观看| 日韩va亚洲va欧美va久久| 欧美中在线观看| 免费日韩一级片| 中文高清一区| 午夜伦理精品一区| 久久高清免费视频| 在线精品观看| 亚洲91精品在线| 自拍偷拍欧美亚洲| 国产视频一区欧美| 欧美诱惑福利视频| 国产性生活视频| 老司机精品久久| 在线看日本不卡| 成人欧美一区二区三区在线观看| 国产男女猛烈无遮挡| 国内精品久久久久影院薰衣草 | 96pao国产成视频永久免费| 国产在线观看99| 激情另类综合| 性欧美激情精品| 毛片在线免费视频| 日韩福利电影在线| 国产日韩欧美视频| 亚洲av无码乱码国产精品| 岛国精品在线播放| 欧美高清性xxxxhd| 午夜免费视频在线国产| 亚洲人123区| 日本熟妇人妻xxxx| 久久电影tv| 欧美手机在线视频| 亚洲视频在线不卡| 久久男人av| 亚洲天堂男人天堂女人天堂| www中文在线| 欧美视频在线观看| 日本不卡视频在线播放| 中文字幕有码无码人妻av蜜桃| 麻豆国产精品一区二区三区| 亚洲资源在线看| 天天干,天天操,天天射| 国产欧美视频在线观看| 成人性做爰片免费视频| 僵尸再翻生在线观看| 欧美三级日韩三级| 午夜福利三级理论电影| 精品香蕉视频| 欧美黑人xxxx| 国产偷人爽久久久久久老妇app | 日韩av电影在线免费播放| 在线免费观看视频网站| 成人免费av资源| 日韩中文字幕一区二区| 伊人手机在线| 欧美在线看片a免费观看| 日韩欧美中文在线视频| 久久爱www成人| 欧美国产乱视频| 中文在线资源天堂| 91在线国内视频| 免费的av在线| 国模私拍国内精品国内av| 精品粉嫩超白一线天av| 九九热久久免费视频| 一本不卡影院| 91传媒视频在线观看| 91在线品视觉盛宴免费| 天天爽夜夜爽夜夜爽精品视频 | 岛国精品在线播放| 夜夜爽99久久国产综合精品女不卡 | 激情小说一区| 久久国产精品电影| 这里只有精品国产| 久久伊人蜜桃av一区二区| 亚洲国产精品成人天堂| 精品一区二区三区中文字幕在线 | 国产精品久久久对白| 成年人视频在线免费观看| 亚洲aaa精品| 久久久久久无码精品人妻一区二区| 欧美一区2区| 日本电影亚洲天堂| 午夜成人鲁丝片午夜精品| 亚洲综合一二三区| 久久艹这里只有精品| 欧美大片aaaa| 国产精品xxx视频| 激情小视频在线| 欧美日韩性视频| 在线播放第一页| 欧美影院一区| 91色琪琪电影亚洲精品久久| 日韩精品黄色| 欧美精品总汇| 9191国产精品| 亚洲欧美精品久久| 日韩二区在线观看| 特级西西444www大精品视频| 日韩av福利| 亚洲欧美变态国产另类| 特级西西444www大精品视频免费看| 成人毛片老司机大片| 国产欧美日韩小视频| 超碰地址久久| 69av成年福利视频| 久青青在线观看视频国产| 欧美午夜片欧美片在线观看| 丝袜美腿中文字幕| 天堂在线亚洲视频| 五月天久久狠狠| 日本中文字幕视频一区| 久久精品视频导航| 精品免费久久久| 亚洲高清在线视频| a毛片毛片av永久免费| 久久久久网站| 亚洲精品不卡| 3d动漫精品啪啪一区二区下载| 欧美国产美女| 成人高清视频观看www| 国产精品一卡二卡三卡| 欧美va在线播放| 久久久久久久久久影院| 国产亚洲一区字幕| 制服丝袜中文字幕第一页| 你懂的亚洲视频| 国产综合第一页| 日本一区免费网站| 欧美xxxx做受欧美.88| 日批视频在线播放| 91成人免费在线视频| 影音先锋男人资源在线观看| 国产成人三级在线观看| 丰满爆乳一区二区三区| 久久理论电影| 国产视频一区二区三区四区| 日产精品一区| 欧美精品在线播放| 日本天堂影院在线视频| 欧美日韩电影在线播放| 日本熟女一区二区| 国产精品三级av| www男人天堂| 人人精品人人爱| 日韩国产成人无码av毛片| 一区二区小说| 91嫩草在线| 456亚洲精品成人影院| 美乳少妇欧美精品| 极品美乳网红视频免费在线观看| 日韩视频一区在线观看| 国产伦精品一区二区三区视频我| 亚洲激情图片qvod| 久久久久无码精品国产sm果冻| 国产精品中文有码| 一区二区三区入口| av成人天堂| 成人污网站在线观看| 国产精品密蕾丝视频下载| 91在线观看网站| jizz亚洲女人高潮大叫| 91av视频在线观看| 日本aa在线| 色悠悠久久88| 国产在线一在线二| 精品成人免费观看| 国产三级漂亮女教师| 日本韩国精品一区二区在线观看| 久久久久亚洲av成人片| 日韩一区在线看| 在线观看亚洲大片短视频| 99re成人精品视频| 老熟女高潮一区二区三区| 狠狠狠色丁香婷婷综合激情| 国产偷人视频免费| 亚洲高清毛片| 免费极品av一视觉盛宴| 欧美三级伦理在线| 久久综合九色综合网站| 豆花视频一区二区| 亚洲一区二区少妇| 国产亚洲高清一区| 国产美女久久精品| 欧美日韩在线精品一区二区三区激情综合 | 国产三级电影在线观看| 亚洲电影免费观看高清完整版在线| 国产精品视频一二区| 欧美日韩国产成人在线91| 中文字幕人妻丝袜乱一区三区| 在线亚洲一区观看| 无码人妻丰满熟妇区bbbbxxxx | 国产成人亚洲精品无码h在线| 亚洲国产高清视频| 青青草视频在线免费播放| 国内精品福利| www.av蜜桃| 亚洲国产裸拍裸体视频在线观看乱了中文 | 四虎精品一区二区| 国产91精品精华液一区二区三区| 一起草最新网址| 国产.精品.日韩.另类.中文.在线.播放| 四虎成人在线播放| 国产乱人伦偷精品视频免下载| 999热精品视频| 国产精品一区久久久久| 中文字幕一区二区三区人妻在线视频 | 五月婷婷深深爱| 亚洲九九九在线观看| 美丽的姑娘在线观看免费动漫| 亚洲天堂第二页| 97人人在线| 欧美精品免费在线| www.超碰在线| 国产精品av在线播放| 亚瑟国产精品| 成人免费在线一区二区三区| 欧美大胆a级| 日韩成人av电影在线| 欧美第十八页| 日韩av新片网| 日韩av一区二| 真实乱偷全部视频| av不卡在线观看| 性の欲びの女javhd| 亚洲日本在线看| 亚洲免费激情视频| 欧美视频完全免费看| 国产三级精品在线观看| 亚洲精品美女在线观看播放| 国产精品麻豆一区二区三区 | 日本系列第一页| 色哟哟欧美精品| 国产一区二区网站| 亚洲国产精品成人精品| eeuss影院在线观看| 欧美精品免费播放| 欧美va在线观看| 亚洲一区中文字幕| 国产成人影院| 2022中文字幕| 日韩电影在线看| 女教师高潮黄又色视频| 久久久久久亚洲综合影院红桃| 日韩欧美国产成人精品免费| 精品久久久久久国产91| 国产孕妇孕交大片孕| 日韩成人黄色av| 黄色免费在线看| 国产成人精品国内自产拍免费看| 看亚洲a级一级毛片| 欧美综合77777色婷婷| 欧美日韩午夜| 亚洲另类第一页| 久久综合九色综合欧美就去吻| 国产午夜手机精彩视频| 欧美日韩亚洲视频一区| 一级爱爱免费视频| 精品偷拍各种wc美女嘘嘘| av免费在线免费| 国产精品精品一区二区三区午夜版| av成人资源| 一区二区三区四区五区精品 | 亚洲一区在线视频| 一本色道久久综合精品婷婷| 亚洲精品国精品久久99热 | 洋洋av久久久久久久一区| 久久这里只有精品9| 日韩电影免费观看中文字幕| 97影院秋霞午夜在线观看| 国产精品免费久久久久影院| 日韩动漫一区| 精品无码国产一区二区三区av| 韩国三级电影一区二区| 手机看片日韩av| 色婷婷综合在线| 人成在线免费视频| 91国产精品电影| 精品福利一区| 国产成人永久免费视频| 国产精品综合网| 国产91在线播放九色| 欧美日韩在线播放一区| 国产三级在线| 日韩免费观看网站| 啄木系列成人av电影| 中国丰满人妻videoshd| 99re在线精品| av大片免费观看| 日韩精品视频免费专区在线播放| 成人超碰在线| 国产伦一区二区三区色一情| 欧美91大片| 少妇极品熟妇人妻无码| 一区二区三区四区国产精品| 国内精品久久久久久久久久久| 久久天天躁狠狠躁夜夜躁| 国产精品麻豆| 永久免费网站视频在线观看| 国产大片一区二区| 久久免费视频99| 亚洲国产精品美女| 亚洲美女久久精品| 日本精品一区二区| 奇米精品一区二区三区四区| www.4hu95.com四虎| 制服丝袜国产精品| 在线中文字幕电影| 国产精品一区二区三区不卡| 亚洲少妇在线| 国产成人免费观看网站| 欧美日韩精品高清| av黄在线观看| 国产欧美在线一区二区| 先锋亚洲精品| 在线观看免费小视频| 欧美一区二区在线视频| 波多野结衣久久| 欧美成人综合一区| 捆绑调教美女网站视频一区| 欧美人妻一区二区| 亚洲级视频在线观看免费1级| 3d欧美精品动漫xxxx无尽| 影音先锋在线亚洲| 丁香天五香天堂综合| 国产又黄又猛又粗又爽| 自拍偷拍亚洲精品| 一本一道久久a久久| 欧美性久久久久| 亚洲欧洲精品天堂一级 | 中文字幕手机在线视频| 色爱av美腿丝袜综合粉嫩av| 日韩中文字幕一区二区高清99| 免费在线观看亚洲视频| 国产精品久久久久影院| 蜜桃视频久久一区免费观看入口| 国产经典一区二区| 欧美日一区二区在线观看 | 日韩在线观看电影完整版高清免费悬疑悬疑 | 日韩精品一区二区在线| 亚洲人体视频| 潘金莲一级淫片aaaaa免费看| www.亚洲人| 国产精品久久久久精| 91av国产在线| 91精品国产自产在线观看永久∴| 国产三级国产精品| 91精品欧美一区二区三区综合在 | avtt香蕉久久| 91精品在线一区二区| 国模套图日韩精品一区二区| 精品久久久无码人妻字幂| 国产欧美一区二区三区沐欲|