自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

只需5分鐘,掌握9個(gè)風(fēng)騷又簡潔的JavaScript技巧

新聞 前端
本文介紹了9個(gè)JavaScript小技巧,希望它們能幫助你寫出更好更漂亮的JS代碼!

[[271679]]

1. 清除或截?cái)嘁粋€(gè)數(shù)組

通過更改數(shù)組的長度(length)這個(gè)簡單的方法,我們就能清除或者截?cái)嘁粋€(gè)數(shù)組啦:

  1. const arr =[11,22,33,44,55,66]; 
  2. // truncanting 
  3. arr.length =3; 
  4. console.log(arr);//=> [11, 22, 33] 
  5. // clearing 
  6. arr.length =0; 
  7. console.log(arr);//=> [] 
  8. console.log(arr[2]);//=> undefined 

2. 用解構(gòu)對(duì)象來模擬命名函數(shù)

當(dāng)你需要將一組變量作為參數(shù)傳遞給某個(gè)函數(shù)時(shí),使用「配置對(duì)象」的可能性很高,如下所示:

  1. doSomething({ foo:'Hello', bar:'Hey!', baz:42}); 
  2. function doSomething(config){ 
  3. const foo = config.foo !==undefined? config.foo :'Hi'
  4. const bar = config.bar !==undefined? config.bar :'Yo!'
  5. const baz = config.baz !==undefined? config.baz :13; 
  6. // ... 

使用doSomething函數(shù)的時(shí)候, { foo: 'Hello', bar: 'Hey!', baz: 42 } 這個(gè) Json 作為參數(shù)傳遞了進(jìn)來,然后在函數(shù)中拆解Json給變量賦值。

這是一種古老而有效的模式,它試圖模擬 JavaScript中的命名參數(shù)。這樣處理雖然也行,但是會(huì)導(dǎo)致代碼不必要的冗長。 借助ES2015的對(duì)象解構(gòu),你可以避開這種冗長:

  1. function doSomething({ foo ='Hi', bar ='Yo!', baz =13}){ 
  2. // ... 

如果你需要使函數(shù)中的參數(shù)成為可選參數(shù),那也很簡單:

  1. function doSomething({ foo ='Hi', bar ='Yo!', baz =13}={}){ 
  2. // ... 

3.數(shù)組的參數(shù)結(jié)構(gòu)

使用「對(duì)象解構(gòu)」,拆解內(nèi)容為數(shù)組的字符串,然后進(jìn)行變量賦值:

  1. const csvFileLine ='1997,John Doe,US,john@doe.com,New York'
  2. const{2: country,4: state }= csvFileLine.split(','); 

數(shù)組中的第2項(xiàng)「US」賦值給了country,第四項(xiàng)「New York」賦值給了state。

4. 包含范圍條件的switch語句

以下是在switch語句中使用范圍的簡單技巧:

5分鐘,掌握9個(gè)風(fēng)騷又簡潔的JavaScript技巧

5.多個(gè)異步函數(shù)的異步回調(diào)機(jī)制

可通過 Promise.all 來等待多個(gè)異步函數(shù)完成。

  1. await Promise.all([anAsyncCall(), thisIsAlsoAsync(), oneMore()]) 

6.創(chuàng)造純凈的對(duì)象

你可以創(chuàng)造100%純凈的對(duì)象,它不會(huì)從Object類繼承任何方法(例如:構(gòu)造函數(shù)、toString() 等)。

5分鐘,掌握9個(gè)風(fēng)騷又簡潔的JavaScript技巧

7.JSON代碼變格式化字符串

JSON.stringify可以做的不僅僅是將JSON對(duì)象變成字符串,也可以用它美化你的JSON輸出:

5分鐘,掌握9個(gè)風(fēng)騷又簡潔的JavaScript技巧

8.從數(shù)組中刪除重復(fù)的項(xiàng)目

通過包含Spread運(yùn)算符的ES2015——也就是最新的JS,你可以很容易地從數(shù)組中刪除重復(fù)的項(xiàng)目

5分鐘,掌握9個(gè)風(fēng)騷又簡潔的JavaScript技巧

9.將多維數(shù)組降維

通過Spread操作符將二維數(shù)組降維是件很容易的事:

  1. const arr =[11,[22,33],[44,55],66]; 
  2. const flatArr =[].concat(...arr);//=> [11, 22, 33, 44, 55, 66] 

不幸的是,上述技巧只適用于二維數(shù)組。但是通過遞歸,我們可以將二維以上的數(shù)組降維:

5分鐘,掌握9個(gè)風(fēng)騷又簡潔的JavaScript技巧

以上就是9個(gè)小技巧啦,希望它們能幫助你寫出更好更漂亮的JS代碼!

責(zé)任編輯:張燕妮 來源: 今日頭條
相關(guān)推薦

2019-12-23 16:42:44

JavaScript前端開發(fā)

2020-09-11 09:35:18

前端JavaScript策略模式

2019-05-08 14:02:52

MySQL索引查詢優(yōu)化數(shù)據(jù)庫

2020-12-17 10:00:16

Python協(xié)程線程

2021-03-12 09:45:00

Python關(guān)聯(lián)規(guī)則算法

2021-01-29 11:25:57

Python爬山算法函數(shù)優(yōu)化

2020-12-07 11:23:32

Scrapy爬蟲Python

2021-03-23 15:35:36

Adam優(yōu)化語言

2024-09-18 23:50:24

Python內(nèi)存生成器

2017-01-10 09:07:53

tcpdumpGET請求

2020-11-23 16:23:59

CSS設(shè)計(jì)技術(shù)

2020-10-27 10:43:24

Redis字符串數(shù)據(jù)庫

2021-03-05 14:52:32

深度學(xué)習(xí)人工智能工具

2019-07-31 10:24:16

JavaScript瀏覽器口袋妖怪

2021-02-03 11:20:41

Docker架構(gòu)容器

2018-11-14 12:45:12

華為

2018-11-23 11:44:21

華為云

2018-01-30 05:04:06

2020-12-01 12:44:44

PythonHook鉤子函數(shù)

2020-11-24 11:50:52

Python文件代碼
點(diǎn)贊
收藏

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