15個(gè)提升JavaScript開發(fā)者能力的技巧
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
1. 空值和未定義值的判斷一個(gè)非常常見的測(cè)試就是檢查變量是否為null或undefined,甚至是“空”,例如下面的示例:
一個(gè)更簡(jiǎn)單的方式是:
2. 數(shù)組定義創(chuàng)建一個(gè)Array對(duì)象:
我們可以用一行代碼完成相同的操作
3. 三元運(yùn)算符“if/else”是我們經(jīng)常會(huì)用到的:
使用三元運(yùn)算符:
甚至更簡(jiǎn)單:
但是,它對(duì)于函數(shù)調(diào)用是否有效呢?如果我有兩個(gè)不同的函數(shù),并且我想在if為true時(shí)調(diào)用一個(gè)函數(shù),在if為false時(shí)調(diào)用另一個(gè)函數(shù):
你可以使用三元運(yùn)算符完成相同的函數(shù)調(diào)用:
還值得一提的是,對(duì)于測(cè)試變量是否為true的if語(yǔ)句,有些小伙伴會(huì)這樣做:
也可以這樣做:
4. 變量聲明
也可以這樣寫:
5. 使用正則表達(dá)式正則表達(dá)式是一種在文本分析和驗(yàn)證方面創(chuàng)建優(yōu)雅和強(qiáng)大代碼的好工具,并且在某些類型的網(wǎng)絡(luò)爬蟲的數(shù)據(jù)提取方面也非常有用。 你可以在以下鏈接中了解更多關(guān)于如何使用正則表達(dá)式的信息:
6. charAt()的快捷方式那么你想從一個(gè)字符串中選擇一個(gè)特定位置的字符,就像下面這樣:
但是請(qǐng)注意,你可以通過(guò)記住字符串是一個(gè)字符數(shù)組來(lái)獲得相同的結(jié)果:
7. 10進(jìn)制冪一個(gè)數(shù)字10000在JS中可以很容易地被1e4替換,即1后跟4個(gè)零,如下所示:
8. 模板文字這個(gè)語(yǔ)義化特性是ECMAscript版本6或更高版本獨(dú)有的,并且極大地簡(jiǎn)化了變量集中的字符串連接。例如,下面的:
從ES6開始,我們可以使用模板文字來(lái)完成這個(gè)連接:
9. 箭頭函數(shù)箭頭函數(shù)是聲明函數(shù)的簡(jiǎn)短方式。例如,下面是一個(gè)求和函數(shù):
我們也可以這樣聲明函數(shù):
但是使用箭頭函數(shù)就很簡(jiǎn)單:
10. 參數(shù)解構(gòu)這個(gè)技巧適用于那些充滿參數(shù)的函數(shù),你決定用一個(gè)對(duì)象替換所有參數(shù)。或者對(duì)于那些確實(shí)需要一個(gè)配置對(duì)象作為參數(shù)的函數(shù)。 問(wèn)題在于必須繼續(xù)訪問(wèn)通過(guò)參數(shù)傳遞的對(duì)象,然后是我們想要讀取的每個(gè)屬性。像這樣:
參數(shù)解構(gòu)特性恰好用于簡(jiǎn)化這個(gè)問(wèn)題,同時(shí)通過(guò)替換前一個(gè)語(yǔ)句來(lái)幫助代碼可讀性:
最后,我們還可以在參數(shù)對(duì)象的屬性中添加默認(rèn)值:
這樣,s的值將為1,但t的值將默認(rèn)為此屬性,即20。 11. 鍵值命名假設(shè)你有一個(gè)人的對(duì)象,它有一個(gè)將要通過(guò)一個(gè)名字變量賦值的名字屬性。像這樣:
而你也可以這樣做:
也就是說(shuō),如果你的變量與屬性同名,你就不需要調(diào)用它,只需傳遞變量即可。對(duì)于多個(gè)屬性也是如此:
12. Map考慮以下對(duì)象數(shù)組:
我們想要僅將動(dòng)物的名稱添加到另一個(gè)數(shù)組中。通常我們會(huì)這樣做:
但是使用 Map,我們可以這樣做:
請(qǐng)注意,map預(yù)期通過(guò)參數(shù)傳遞一個(gè)帶有最多三個(gè)參數(shù)的函數(shù):
顯然,此函數(shù)將針對(duì) animal 數(shù)組中的每個(gè)對(duì)象調(diào)用一次。 13. Filter如果我們想要遍歷與上一個(gè)提示中相同的動(dòng)物對(duì)象數(shù)組,但這次僅返回那些大小為“small”的對(duì)象,我們?cè)撊绾巫瞿兀?/p> 我們?nèi)绾问褂闷胀ǖ腏S實(shí)現(xiàn)呢?
然而,使用 filter 操作符,我們可以以更簡(jiǎn)潔和更清晰的方式實(shí)現(xiàn)這一點(diǎn):
Filter通過(guò)參數(shù)傳遞一個(gè)帶有當(dāng)前迭代對(duì)象參數(shù)的函數(shù)(與 foreach 中的相同),它應(yīng)該返回一個(gè)布爾值,指示此對(duì)象是否將成為返回?cái)?shù)組的一部分(true表示它通過(guò)了測(cè)試并將成為其中一部分)。 14. ReduceJavascript 的另一個(gè)重要功能是 reduce。它允許我們以非常簡(jiǎn)單和強(qiáng)大的方式對(duì)集合進(jìn)行分組和計(jì)算。例如,如果我們想要將我們的動(dòng)物對(duì)象數(shù)組中所有動(dòng)物的重量相加,我們?cè)撛趺醋瞿兀?/p>
但是,使用 reduce,我們可以這樣做:
Reduce通過(guò)參數(shù)傳遞一個(gè)帶有以下參數(shù)的函數(shù):
此函數(shù)將在數(shù)組中的每個(gè)對(duì)象上執(zhí)行一次,在執(zhí)行結(jié)束時(shí)返回聚合值。 以上就是今日分享的關(guān)于Javascript的文章,雖然看起來(lái)很簡(jiǎn)單,但是對(duì)于剛?cè)腴T的小伙伴來(lái)說(shuō)是非常有用的喲! 該文章在 2023/6/5 11:06:37 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |