簡體   English   中英

如何讓我的函數直到稍后才傳遞第二個參數?

[英]How to make my function not pass the second parameter until later?

我正在使用語音識別軟件編寫一個小腳本。

我已經設置好了,當語音命令識別出一個命令時,它會啟動一個功能。

該函數有兩個參數,狀態和標簽。

例如,你可以說

“{state} 門 {tag}。

示例:“{打開} 門{a}”

state 和 tag 可以是任何東西。 我的函數通過它檢查它是否是一個字符串,它是否是一個單數字母,它是否與數據庫匹配等等,如果一切都通過,最后將數據發送到一個表單。 重點是,這些參數必須通過的第一個“障礙”是:

if (typeof tag === "string" && tag.length === 1){ 

do stuff 

} else {
console.log(`Parameter ${tag} is either not a word, or not a singular 
letter.`);
} 

它只適用於一個參數/參數,也就是標簽,但使用兩個參數/參數時,它也可以傳遞“狀態”??? Aka,我的 else 控制台日志被觸發,說“打開不是一個詞......”等。

稍后在我的代碼中,狀態變得相關,例如,它檢查的地方,

 if (state === open || state === closed) {}

我的觀點是,如何讓它忽略該參數,直到稍后需要它? 有沒有辦法讓它成為可選的? 讓它只先傳遞“標簽”參數/參數,需要時再傳遞另一個?

謝謝。

您可能有一個帶有兩個參數的函數,其中一個是可選的。 下面是一個例子:

 function test(p1,p2="optional"){ console.log(p1); if(p2 == 'optional'){ console.log("...returning\\n"); return; } else { console.log(p2); } } test("param1"); test("param1","param2");

在這種情況下,第一次僅使用 param1 調用該函數,因為 param2 是可選的。 第二次使用兩個參數調用該函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM