這篇文章主要為大家展示了“實(shí)用的JavaScript優(yōu)化小技巧有哪些”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“實(shí)用的JavaScript優(yōu)化小技巧有哪些”這篇文章吧。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了掇刀免費(fèi)建站歡迎大家使用!
一旦當(dāng)我們寫到超過兩個if...else
的函數(shù)的時候就該想想是否有更好的優(yōu)化方法。【相關(guān)推薦:javascript學(xué)習(xí)教程】
比如現(xiàn)在需要讓我們根據(jù)名稱計算出麥某勞的食品價格,你可能會這么做。
這樣的寫法會讓函數(shù)體有很多的條件判斷語句,而當(dāng)我們想下次增加一個商品的時候就需要修改函數(shù)內(nèi)的邏輯增加一個if...else
語句,這一定程度上也違反了開閉原則,當(dāng)我們需要增加一個邏輯的時候要盡量通過擴(kuò)展軟件實(shí)體來解決需求變化,而不是通過修改已有的代碼來完成變化。
這是很經(jīng)典的優(yōu)化方式,我們可以使用一個類似Map
機(jī)構(gòu)的數(shù)據(jù)來保存所有商品,這里我們直接建立一個對象來存儲。
這樣我們下次需要再增加一個商品時就不需要改動getPrice
的邏輯了,當(dāng)然了這里其實(shí)更多人喜歡直接在用的地方直接使用foodMap
,我這里只是簡單舉了個例子表述這個思路。
那么這時候就有同學(xué)會問了,如果我不想key
只用字符串呢,這時候你就可以用到new Map
了,思路也是差不多的,額外擴(kuò)展一個實(shí)體來存儲變化。
有這么一個麥某勞食物列表
如果你想找出屬于套餐1的食物,你會怎么找呢?
上面這種是我們以前經(jīng)常使用的方法,顯然我們替換成使用filter
與map
來取代for
循環(huán)不僅可以使代碼更精簡,還可以使語義更加明確,這樣我們一下就可以看出是先對數(shù)組過濾
再重組
。
還是上面的例子,如果我們要在這個食品對象數(shù)組中按照屬性值查找特定的食物時,find
的用處就出來了。
和上面兩個細(xì)節(jié)類似的這些都是既有的函數(shù)也就是不用我們重新寫的內(nèi)置函數(shù),巧用它會節(jié)省很多時間。
眾所周知,一碗康某傅老壇酸菜牛肉面有酸菜,面,牛肉粒,煙頭和腳皮組成,那我們想用函數(shù)證實(shí)這個面里面是否有腳皮我們怎么寫會比較簡潔呢?
同樣的,不止是康某傅的酸菜牛肉面可以這樣耍,所有類似的在數(shù)組里面找到特定元素的操作都可以使用includes
函數(shù)來調(diào)用。
我們通常在寫一些擁有返回值的函數(shù)的時候常常會以返回值變量命名而糾結(jié),甚至對于一些長函數(shù)的時候還不使用變量而是直接return
,這樣的習(xí)慣其實(shí)是不好的,因為等我們下次再去參照這段代碼的時候還需要重新捋清邏輯。
通常的,在一個小函數(shù)中,我們可以使用result
作為返回值。
然而上面用result
作為返回值并不適用于所有情況,往往有些時候我們需要提前結(jié)束函數(shù)體來避免后面的同事閱讀多余的程序。
如下的例子中當(dāng)我們selectedKey
不存在的時候應(yīng)該立即return
,這樣就不用繼續(xù)閱讀下面的代碼,否則面對更復(fù)雜的函數(shù)時會增加很多的閱讀成本。
經(jīng)常在我們通過請求拿到后端返回的數(shù)據(jù)會根據(jù)其中一些屬性進(jìn)行處理,如果需要處理的屬性少的時候很多同學(xué)會習(xí)慣使用第一種方法。
但其實(shí)這種習(xí)慣是不好的,因為當(dāng)你無法確定這個函數(shù)以后還需不需要增加依賴屬性的時候應(yīng)該保持對象的完整,就像我上篇文章提到的,學(xué)會擁抱變化,假如getDocDetail
不止要用到icon
和content
,可能以后還會有title
,date
等屬性,所以我們不如直接將完整對象傳入,不僅增加縮短參數(shù)列表還會讓代碼更易讀。
當(dāng)我們需要創(chuàng)建新變量時, 有時需要檢查為其值引用的變量是否為null
或未定義時, 就可以使用簡便寫法。
以上是“實(shí)用的JavaScript優(yōu)化小技巧有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)頁名稱:實(shí)用的JavaScript優(yōu)化小技巧有哪些
URL鏈接:http://aaarwkj.com/article32/pjdjsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、品牌網(wǎng)站建設(shè)、定制網(wǎng)站、網(wǎng)站改版、ChatGPT、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)