這篇文章主要介紹了js函數(shù)的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站制作、網(wǎng)站設計、外貿(mào)網(wǎng)站建設、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務永順,十載網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18980820575
func = (l, m = 3, n = 4 ) => (l * m * n); func(2) //output: 24
注意,傳入?yún)?shù)為undefined
或者不傳入的時候會使用默認參數(shù),但是傳入null
還是會覆蓋默認參數(shù)。
默認情況下,如果不向函數(shù)參數(shù)傳值,那么JS 會將函數(shù)參數(shù)設置為undefined
。其它一些語言則會發(fā)出警告或錯誤。要執(zhí)行參數(shù)分配,可以使用if
語句拋出未定義的錯誤,或者可以利用強制參數(shù)。
mandatory = ( ) => { throw new Error('Missing parameter!'); } foo = (bar = mandatory( )) => { // 這里如果不傳入?yún)?shù),就會執(zhí)行manadatory函數(shù)報出錯誤 return bar; }
返回值是我們通常用來返回函數(shù)最終結果的關鍵字。只有一個語句的箭頭函數(shù),可以隱式返回結果(函數(shù)必須省略大括號{ }
,以便省略返回關鍵字)。
要返回多行語句(例如對象文本),需要使用( )
而不是{ }
來包裹函數(shù)體。這樣可以確保代碼以單個語句的形式進行求值。
function calcCircumference(diameter) { return Math.PI * diameter } // 簡寫為: calcCircumference = diameter => ( Math.PI * diameter; )
在某個場景下我們的函數(shù)中有判斷語句,這個判斷依據(jù)在整個項目運行期間一般不會變化,所以判斷分支在整個項目運行期間只會運行某個特定分支,那么就可以考慮惰性載入函數(shù)
function foo(){ if(a !== b){ console.log('aaa') }else{ console.log('bbb') } } // 優(yōu)化后 function foo(){ if(a != b){ foo = function(){ console.log('aaa') } }else{ foo = function(){ console.log('bbb') } } return foo(); }
那么第一次運行之后就會覆寫這個方法,下一次再運行的時候就不會執(zhí)行判斷了。當然現(xiàn)在只有一個判斷,如果判斷很多,分支比較復雜,那么節(jié)約的資源還是可觀的。
跟上面的惰性載入函數(shù)同理,可以在函數(shù)體里覆寫當前函數(shù),那么可以創(chuàng)建一個一次性的函數(shù),重新賦值之前的代碼相當于只運行了一次,適用于運行一些只需要執(zhí)行一次的初始化代碼
var sca = function() { console.log('msg') sca = function() { console.log('foo') } } sca() // msg sca() // foo sca() // foo
感謝你能夠認真閱讀完這篇文章,希望小編分享的“js函數(shù)的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關知識等著你來學習!
新聞標題:js函數(shù)的示例分析
本文鏈接:http://chinadenli.net/article16/ihosgg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供、定制開發(fā)、做網(wǎng)站、營銷型網(wǎng)站建設、企業(yè)網(wǎng)站制作、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)