第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何編寫一個(gè)函數(shù),以便在未定義參數(shù)時(shí)省略代碼?

如何編寫一個(gè)函數(shù),以便在未定義參數(shù)時(shí)省略代碼?

動(dòng)漫人物 2021-05-06 13:12:46
我正在使用Javascript來(lái)執(zhí)行GUI操作來(lái)編寫自動(dòng)化測(cè)試用例。我正在編寫一個(gè)函數(shù)來(lái)處理要測(cè)試的軟件上的一些基本“初始化”操作,但我希望可以選擇不必將每個(gè)參數(shù)都放入?yún)?shù)中。所以我有一個(gè)基本上可以做到這一點(diǎn)的功能:function initializeApp(arg1,arg2,arg3,arg4){    action1(arg1);    action2(arg2);    action3(arg3);    action4(arg4);}但是可以說(shuō)我不想執(zhí)行動(dòng)作4,現(xiàn)在“ action4”塊中包含的代碼將無(wú)法處理沒(méi)有arg4輸入的情況,并且會(huì)崩潰。因此,我想解決該問(wèn)題的慣用方式是創(chuàng)建一堆ifandelse if語(yǔ)句,如果未定義該參數(shù),它們實(shí)際上將跳過(guò)不同的代碼塊。這是一個(gè)例子:function testIES(configFile, recordFile, overwrite, scriptFile){    if (arg1 == undefined)    {        action2(arg2);        action3(arg3);        action4(arg4);    } else if (arg2 == undefined)    {        action1(arg1);        action3(arg3);        action4(arg4);    } else if (arg3 == undefined)    {        action1(arg1);        action2(arg2);        action4(arg4);    } else if (arg4 == undefined)    {        action1(arg1);        action2(arg2);        action3(arg3);    }}但是,這種方法有一個(gè)明顯的缺陷,即如果我希望能夠排除一個(gè)以上的論點(diǎn),則需要提出“動(dòng)作”的每種組合。如果其他任何人想要這樣做也不是非常用戶友好的,因?yàn)樗麄儽仨氈啦灰z漏一個(gè)以上的論點(diǎn)。那么,我最好的選擇就是簡(jiǎn)單地提出所有不同組合嗎?或者,還有更好的方法?當(dāng)然,有更好的方法。
查看完整描述

2 回答

?
吃雞游戲

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊

這允許傳遞未定義和虛假的:


function initializeApp(arg1,arg2,arg3,arg4)

{

   var len = arguments.length;

    if(len>0)action1(arg1);

    if(len>1)action2(arg2);

    if(len>2)action3(arg3);

    if(len>3)action4(arg4);

}

如果您永遠(yuǎn)不會(huì)傳遞類似false的值(0,nullfalse等),則可以使用更簡(jiǎn)單的形式,例如


if(arg1) action1(arg1);


查看完整回答
反對(duì) 回復(fù) 2021-05-27
?
青春有我

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個(gè)贊

您可以獲取參數(shù)和每個(gè)參數(shù)的函數(shù)數(shù)組,然后進(jìn)行迭代并檢查是否已設(shè)置參數(shù),然后在相同的索引處調(diào)用該函數(shù)。


function testIES(...args) {

    [action1, action2, action3, action4].forEach((fn, i) {

        if (args[i] === undefined) return;

        fn(args[i]);

    });

}


查看完整回答
反對(duì) 回復(fù) 2021-05-27
  • 2 回答
  • 0 關(guān)注
  • 152 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)