新聞中心

成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括靖西網(wǎng)站建設(shè)、靖西網(wǎng)站制作、靖西網(wǎng)頁(yè)制作以及靖西網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,靖西網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到靖西省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
之前我們介紹JavaScript簡(jiǎn)寫(xiě)技巧的初級(jí)篇,下面給大家講解JavaScript簡(jiǎn)寫(xiě)技巧的高級(jí)篇幫助大家更加熟練的運(yùn)用 JavaScript 語(yǔ)言來(lái)進(jìn)行開(kāi)發(fā)工作。
高級(jí)篇
1. 變量賦值
當(dāng)將一個(gè)變量的值賦給另一個(gè)變量時(shí),首先需要確保原值不是 null、未定義的或空值。
可以通過(guò)編寫(xiě)一個(gè)包含多個(gè)條件的判斷語(yǔ)句來(lái)實(shí)現(xiàn):
或者簡(jiǎn)寫(xiě)為以下的形式:
可以將下面的代碼粘貼到 es6console 中,自己測(cè)試:
2. 默認(rèn)值賦值
如果預(yù)期參數(shù)是 null 或未定義,則不需要寫(xiě)六行代碼來(lái)分配默認(rèn)值。我們可以只使用一個(gè)簡(jiǎn)短的邏輯運(yùn)算符,只用一行代碼就能完成相同的操作。
簡(jiǎn)寫(xiě)為:
3. 對(duì)象屬性
ES6 提供了一個(gè)很簡(jiǎn)單的辦法,來(lái)分配屬性的對(duì)象。如果屬性名與 key 名相同,則可以使用簡(jiǎn)寫(xiě)。
簡(jiǎn)寫(xiě)為:
4. 箭頭函數(shù)
經(jīng)典函數(shù)很容易讀寫(xiě),但是如果把它們嵌套在其它函數(shù)中進(jìn)行調(diào)用時(shí),整個(gè)函數(shù)就會(huì)變得有些冗長(zhǎng)和混亂。這時(shí)候可以使用箭頭函數(shù)來(lái)簡(jiǎn)寫(xiě):
簡(jiǎn)寫(xiě)為:
5. 隱式返回值
返回值是我們通常用來(lái)返回函數(shù)最終結(jié)果的關(guān)鍵字。只有一個(gè)語(yǔ)句的箭頭函數(shù),可以隱式返回結(jié)果(函數(shù)必須省略括號(hào)({ }),以便省略返回關(guān)鍵字)。
要返回多行語(yǔ)句(例如對(duì)象文本),需要使用()而不是{ }來(lái)包裹函數(shù)體。這樣可以確保代碼以單個(gè)語(yǔ)句的形式進(jìn)行求值。
簡(jiǎn)寫(xiě)為:
6. 默認(rèn)參數(shù)值
可以使用 if 語(yǔ)句來(lái)定義函數(shù)參數(shù)的默認(rèn)值。ES6 中規(guī)定了可以在函數(shù)聲明中定義默認(rèn)值。
簡(jiǎn)寫(xiě)為:
7. 模板字符串
過(guò)去我們習(xí)慣了使用“+”將多個(gè)變量轉(zhuǎn)換為字符串,但是有沒(méi)有更簡(jiǎn)單的方法呢?
ES6 提供了相應(yīng)的方法,我們可以使用反引號(hào)和 $ { } 將變量合成一個(gè)字符串。
簡(jiǎn)寫(xiě)為:
8. 解構(gòu)賦值
解構(gòu)賦值是一種表達(dá)式,用于從數(shù)組或?qū)ο笾锌焖偬崛傩灾?,并賦給定義的變量。
在代碼簡(jiǎn)寫(xiě)方面,解構(gòu)賦值能達(dá)到很好的效果。
簡(jiǎn)寫(xiě)為:
甚至可以指定自己的變量名:
9. 展開(kāi)運(yùn)算符
展開(kāi)運(yùn)算符是在 ES6 中引入的,使用展開(kāi)運(yùn)算符能夠讓 JavaScript 代碼更加有效和有趣。
使用展開(kāi)運(yùn)算符可以替換某些數(shù)組函數(shù)。
簡(jiǎn)寫(xiě)為:
和 concat( ) 功能不同的是,用戶可以使用擴(kuò)展運(yùn)算符在任何一個(gè)數(shù)組中插入另一個(gè)數(shù)組。
也可以將展開(kāi)運(yùn)算符和 ES6 解構(gòu)符號(hào)結(jié)合使用:
10. 強(qiáng)制參數(shù)
默認(rèn)情況下,如果不向函數(shù)參數(shù)傳值,那么 JavaScript 會(huì)將函數(shù)參數(shù)設(shè)置為未定義。其它一些語(yǔ)言則會(huì)發(fā)出警告或錯(cuò)誤。要執(zhí)行參數(shù)分配,可以使用if語(yǔ)句拋出未定義的錯(cuò)誤,或者可以利用“強(qiáng)制參數(shù)”。
簡(jiǎn)寫(xiě)為:
11. Array.find
如果你曾經(jīng)編寫(xiě)過(guò)普通 JavaScript 中的 find 函數(shù),那么你可能使用了 for 循環(huán)。在 ES6 中,介紹了一種名為 find()的新數(shù)組函數(shù),可以實(shí)現(xiàn) for 循環(huán)的簡(jiǎn)寫(xiě)。
簡(jiǎn)寫(xiě)為:
12. Object [key]
雖然將 foo.bar 寫(xiě)成 foo [‘bar’] 是一種常見(jiàn)的做法,但是這種做法構(gòu)成了編寫(xiě)可重用代碼的基礎(chǔ)。
請(qǐng)考慮下面這個(gè)驗(yàn)證函數(shù)的簡(jiǎn)化示例:
上面的函數(shù)***的完成驗(yàn)證工作。但是當(dāng)有很多表單,則需要應(yīng)用驗(yàn)證,此時(shí)會(huì)有不同的字段和規(guī)則。如果可以構(gòu)建一個(gè)在運(yùn)行時(shí)配置的通用驗(yàn)證函數(shù),會(huì)是一個(gè)好選擇。
universal validation function
現(xiàn)在有了這個(gè)驗(yàn)證函數(shù),我們就可以在所有窗體中重用,而無(wú)需為每個(gè)窗體編寫(xiě)自定義驗(yàn)證函數(shù)。
13. 雙位操作符
位操作符是 JavaScript 初級(jí)教程的基本知識(shí)點(diǎn),但是我們卻不常使用位操作符。因?yàn)樵诓惶幚矶M(jìn)制的情況下,沒(méi)有人愿意使用 1 和 0。
但是雙位操作符卻有一個(gè)很實(shí)用的案例。你可以使用雙位操作符來(lái)替代 Math.floor( )。雙否定位操作符的優(yōu)勢(shì)在于它執(zhí)行相同的操作運(yùn)行速度更快。
Math.floor(4.9) === 4 //true
簡(jiǎn)寫(xiě)為:
~~4.9 === 4 //true
分享名稱:前端開(kāi)發(fā)人員需要知道的JavaScript簡(jiǎn)寫(xiě)技巧(高級(jí)篇)
文章源于:http://m.5511xx.com/article/dhjcgid.html


咨詢
建站咨詢
