成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

9 個JavaScript 技巧

開發 前端
JavaScript一種直譯式腳本語言,是一種動態類型、弱類型、基于原型的語言,內置支持類型。本文主要介紹關于JavaScript的9個技巧。

1. 生成指定范圍的數字

[[344478]]

在某些情況下,我們會創建一個處在兩個數之間的數組。假設我們要判斷某人的生日是否在某個范圍的年份內,那么下面是實現它的一個很簡單的方法:

  1. let start = 1900end = 2000
  2. [...new Array(end + 1).keys()].slice(start); 
  3. // [ 1900, 1901, ..., 2000] 
  4.  
  5. // 還有這種方式,但對于很的范圍就不太穩定 
  6. Array.from({ length: end - start + 1 }, (_, i) => start + i); 

2. 使用值數組作為函數的參數

在某些情況下,我們需要將值收集到數組中,然后將其作為函數的參數傳遞。使用 ES6,可以使用擴展運算符(...)并從[arg1, arg2] > (arg1, arg2)中提取數組:

  1. const parts = { 
  2.   first: [0, 2], 
  3.   second: [1, 3], 
  4.  
  5. ["Hello", "World", "JS", "Tricks"].slice(...parts.second) 
  6. // ["World", "JS"] 

3. 將值用作 Math 方法的參數

當我們需要在數組中使用Math.max或Math.min來找到最大或者最小值時,我們可以像下面這樣進行操作:

  1. const elementsHeight =  [...document.body.children].map( 
  2.   el => el.getBoundingClientRect().y 
  3. ); 
  4. Math.max(...elementsHeight); 
  5. // 474 
  6.  
  7. const numbers = [100, 100, -1000, 2000, -3000, 40000]; 
  8. Math.min(...numbers); 
  9. // -3000 

4. 合并/展平數組中的數組

Array 有一個很好的方法,稱為Array.flat,它是需要一個depth參數,表示數組嵌套的深度,默認值為1。但是,如果我們不知道深度怎么辦,則需要將其全部展平,只需將Infinity作為參數即可

  1. const arrays = [[10], 50, [100, [2000, 3000, [40000]]]] 
  2.  
  3. arrays.flat(Infinity) 
  4. // [ 10, 50, 100, 2000, 3000, 40000 ] 

5. 防止代碼崩潰

在代碼中出現不可預測的行為是不好的,但是如果你有這種行為,你需要處理它。

例如,常見錯誤TypeError,試獲取undefined/null等屬性,就會報這個錯誤。

  1. const found = [{ name: "Alex" }].find(i => i.name === 'Jim') 
  2.  
  3. console.log(found.name) 
  4. // TypeError: Cannot read property 'name' of undefined 

我們可以這樣避免它:

  1. const found = [{ name: "Alex" }].find(i => i.name === 'Jim') || {} 
  2.  
  3. console.log(found.name) 
  4. // undefined 

6. 傳遞參數的好方法

對于這個方法,一個很好的用例就是styled-components,在ES6中,我們可以將模板字符中作為函數的參數傳遞而無需使用方括號。如果要實現格式化/轉換文本的功能,這是一個很好的技巧:

  1. const makeList = (raw) => 
  2.   raw 
  3.     .join() 
  4.     .trim() 
  5.     .split("\n") 
  6.     .map((s, i) => `${i + 1}. ${s}`) 
  7.     .join("\n"); 
  8.  
  9. makeList` 
  10. Hello, World 
  11. Hello, World 
  12. `; 
  13. // 1. Hello,World 
  14. // 2. World,World 

7. 交換變量

使用解構賦值語法,我們可以輕松地交換變量 使用解構賦值語法:

  1. let a = "hello" 
  2. let b = "world" 
  3.  
  4. // 錯誤的方式 
  5. a = b 
  6. b = a 
  7. // { a: 'world', b: 'world' } 
  8.  
  9. // 正確的做法 
  10. [a, b] = [b, a] 
  11. // { a: 'world', b: 'hello' } 

8. 按字母順序排序

需要在跨國際的項目中,對于按字典排序,一些比較特殊的語言可能會出現問題,如下所示:

  1. // 錯誤的做法 
  2. ["a", "z", "ä"].sort((a, b) => a - b); 
  3. // ['a', 'z', 'ä'] 
  4.  
  5. // 正確的做法 
  6. ["a", "z", "ä"].sort((a, b) => a.localeCompare(b)); 
  7. // [ 'a', 'ä', 'z' ] 

localeCompare() :用本地特定的順序來比較兩個字符串。

9. 隱藏隱私

 

最后一個技巧是屏蔽字符串,當你需要屏蔽任何變量時(不是密碼),下面這種做法可以快速幫你做到:

  1. const password = "hackme"
  2. password.substr(-3).padStart(password.length, "*"); 
  3. // ***kme 

本文轉載自微信公眾號「大遷世界」,可以通過以下二維碼關注。轉載本文請聯系大遷世界公眾號。

 

責任編輯:趙寧寧 來源: 大遷世界
相關推薦

2020-12-14 08:30:02

JavaScript開發代碼

2020-12-23 08:03:01

JavaScript開發代碼

2019-12-20 14:32:55

JavaScript函數開發

2019-07-31 10:24:16

JavaScript瀏覽器口袋妖怪

2020-12-07 08:01:59

JavaScript入門技巧

2020-05-09 17:05:50

Python字符串代碼

2011-04-07 16:46:09

Solaris

2019-07-24 15:29:55

JavaScript開發 技巧

2020-08-21 17:40:15

JavaScript開發 技巧

2022-12-25 16:03:31

JavaScript技巧

2023-08-11 17:39:43

JavaScriptWeb 應用程序

2022-12-22 14:44:06

JavaScript技巧

2022-11-28 23:44:26

JavaScript技巧程序員

2024-08-21 14:55:02

2023-11-26 17:54:07

JavaScript開發

2010-09-25 09:42:59

Java內存管理

2020-06-09 10:24:58

JavaScript開發技術

2023-07-18 07:56:31

工具reduce業務

2022-11-28 23:48:06

JavaScript編程語言技巧

2010-05-24 14:06:31

JavaScript
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: www午夜视频| 国产精品毛片一区二区在线看 | 久久一视频 | 国产激情在线观看 | 国产精品99精品久久免费 | 综合精品 | 欧美一区二区三区免费在线观看 | 中文字幕av亚洲精品一部二部 | 夜夜av | 狠狠久久久 | 成人免费视频久久 | 国产精品久久久久久久久大全 | 99久久婷婷国产综合精品首页 | 日韩成人中文字幕 | 亚洲国产成人精品久久久国产成人一区 | 欧美日韩在线一区二区 | 国产精品极品美女在线观看免费 | 国产视频2021 | 久久国产精品无码网站 | 久久久成人网 | 有码一区 | 在线播放一区二区三区 | 久久综合狠狠综合久久综合88 | 亚洲精品大片 | 免费在线观看成人 | 97精品国产97久久久久久免费 | 日韩1区 | 成人亚洲性情网站www在线观看 | 九色国产| 久久国产区 | 一级黄色影片在线观看 | 美女天天操| 成av在线 | 一区在线播放 | 精国产品一区二区三区 | 成人精品国产免费网站 | 综合第一页 | 在线看亚洲 | 成年人黄色一级片 | 亚洲国产精品久久久久秋霞不卡 | 欧美一级一区 |