真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

js函數(shù)的示例分析

這篇文章主要介紹了js函數(shù)的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)永順,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18980820575

函數(shù)

1 函數(shù)默認(rèn)值

func = (l, m = 3, n = 4 ) => (l * m * n);
func(2) //output: 24

注意,傳入?yún)?shù)為undefined或者不傳入的時(shí)候會(huì)使用默認(rèn)參數(shù),但是傳入null還是會(huì)覆蓋默認(rèn)參數(shù)。

2 強(qiáng)制參數(shù)

默認(rèn)情況下,如果不向函數(shù)參數(shù)傳值,那么JS 會(huì)將函數(shù)參數(shù)設(shè)置為undefined。其它一些語(yǔ)言則會(huì)發(fā)出警告或錯(cuò)誤。要執(zhí)行參數(shù)分配,可以使用if語(yǔ)句拋出未定義的錯(cuò)誤,或者可以利用強(qiáng)制參數(shù)。

mandatory = ( ) => {
 throw new Error('Missing parameter!');
}
foo = (bar = mandatory( )) => { // 這里如果不傳入?yún)?shù),就會(huì)執(zhí)行manadatory函數(shù)報(bào)出錯(cuò)誤
 return bar;
}

3 隱式返回值

返回值是我們通常用來(lái)返回函數(shù)最終結(jié)果的關(guān)鍵字。只有一個(gè)語(yǔ)句的箭頭函數(shù),可以隱式返回結(jié)果(函數(shù)必須省略大括號(hào){ },以便省略返回關(guān)鍵字)。
要返回多行語(yǔ)句(例如對(duì)象文本),需要使用( )而不是{ }來(lái)包裹函數(shù)體。這樣可以確保代碼以單個(gè)語(yǔ)句的形式進(jìn)行求值。

function calcCircumference(diameter) {
 return Math.PI * diameter
}
// 簡(jiǎn)寫(xiě)為:
calcCircumference = diameter => (
 Math.PI * diameter;
)

4 惰性載入函數(shù)

在某個(gè)場(chǎng)景下我們的函數(shù)中有判斷語(yǔ)句,這個(gè)判斷依據(jù)在整個(gè)項(xiàng)目運(yùn)行期間一般不會(huì)變化,所以判斷分支在整個(gè)項(xiàng)目運(yùn)行期間只會(huì)運(yùn)行某個(gè)特定分支,那么就可以考慮惰性載入函數(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();
}

那么第一次運(yùn)行之后就會(huì)覆寫(xiě)這個(gè)方法,下一次再運(yùn)行的時(shí)候就不會(huì)執(zhí)行判斷了。當(dāng)然現(xiàn)在只有一個(gè)判斷,如果判斷很多,分支比較復(fù)雜,那么節(jié)約的資源還是可觀的。

5 一次性函數(shù)

跟上面的惰性載入函數(shù)同理,可以在函數(shù)體里覆寫(xiě)當(dāng)前函數(shù),那么可以創(chuàng)建一個(gè)一次性的函數(shù),重新賦值之前的代碼相當(dāng)于只運(yùn)行了一次,適用于運(yùn)行一些只需要執(zhí)行一次的初始化代碼

var sca = function() {
 console.log('msg')
 sca = function() {
 console.log('foo')
 }
}
sca() // msg
sca() // foo
sca() // foo

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“js函數(shù)的示例分析”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!


新聞名稱:js函數(shù)的示例分析
本文網(wǎng)址:http://weahome.cn/article/ihosgg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部