全國(guó)咨詢(xún)/投訴熱線(xiàn):400-618-4000

首頁(yè)技術(shù)文章正文

讓JavaScript更簡(jiǎn)單方便的小技巧

更新時(shí)間:2018-11-05 來(lái)源:黑馬程序員 瀏覽量:

  1. 清空或者截?cái)鄶?shù)組

首先,我們?cè)诓恢匦陆o數(shù)組賦值的情況下,清空或者是截?cái)鄶?shù)組的方法,其中最簡(jiǎn)單的就是更改其中的length屬性值:

1541389104172_45.png

2.使用對(duì)象結(jié)構(gòu)(destructuring)模擬命名參數(shù)
當(dāng)你需要將一組可選變量傳遞給某個(gè)函數(shù)的時(shí)候,你可能已經(jīng)在使用配置對(duì)象了,如下:
1541389194427_46.png

這是一個(gè)很老套但是很有效的模式,它試圖在JavaScript中模擬命名參數(shù)。函數(shù)調(diào)用看起來(lái)很好,但是另一方面,配置對(duì)象處理邏輯不必要地冗長(zhǎng)。下面使用ES2015 對(duì)象解構(gòu),我們就可以繞過(guò)這個(gè)缺點(diǎn):
1541389204881_47.png

如果我們要配置對(duì)象也是可以的,如下:

1541389239755_49.png
3.使用對(duì)象解構(gòu)來(lái)處理數(shù)組的方式如下:

我們可以使用對(duì)象解構(gòu)將數(shù)組項(xiàng)分配給各個(gè)變量:

1541389252305_50.png

下面來(lái)說(shuō)一下switch語(yǔ)句中使用范圍值:
這里我們將技巧與本文中的其他技巧區(qū)分開(kāi),這不是一種節(jié)省時(shí)間的技術(shù),也不適用于現(xiàn)實(shí)生活中的膽碼。但是我們記住,if語(yǔ)句在這種情況下總是更好。
本文中的其他提示不同,更像是一種好奇探索而不是真正的適用什么。
4.下面是在switch語(yǔ)句中適用范圍值的簡(jiǎn)單技巧:
1541389307189_50.png

5.使用 async/await 來(lái) await多個(gè)async函數(shù)

可以使用 Promise.all 來(lái) await 多個(gè) async(異步)函數(shù)。

1541389321691_51.png

6.創(chuàng)建純pure對(duì)象
我們可以創(chuàng)建一個(gè)100%的純對(duì)象,但是它不會(huì)從Object 繼承任何屬性或方法(例如,constructor,toString() 等)。

1541389329199_52.png
7.格式化JSON代碼
JSON.stringify 不僅可以簡(jiǎn)單地將對(duì)象轉(zhuǎn)化為字符串。你也可以用它來(lái)格式化JSON輸出:

1541389337663_53.png
8.從數(shù)組中刪除重復(fù)元素(數(shù)組去重)

通過(guò)使用通過(guò)使用集合語(yǔ)法和 Spread(展開(kāi))運(yùn)算符,您可以輕松地從數(shù)組中刪除重復(fù)項(xiàng):


1541389346249_54.png
9.平鋪多維數(shù)組

使用 Spread(展開(kāi)),可以很容易去平鋪嵌套多維數(shù)組:


1541389352120_55.png
可惜,上面的方法僅僅適用于二維數(shù)組。不過(guò),通過(guò)遞歸,我們可以平鋪任意維度的嵌套數(shù)組。

1541389360415_56.png
以上就是全部技巧,希望大家通過(guò)這篇文章可以編寫(xiě)出更好更漂亮的JavaScript。



作者:黑馬程序員前端與移動(dòng)開(kāi)發(fā)培訓(xùn)學(xué)院
首發(fā):http://web.itheima.com/

分享到:
在線(xiàn)咨詢(xún) 我要報(bào)名
和我們?cè)诰€(xiàn)交談!