函數(shù)式編程
2021-06-28 09:27:35
我有一個foo定義如下的函數(shù),foo = function(a=1,b=2,c=3){ console.log("your inputs are a:" +a+", b:"+b + ", c:"+c+".")}如何使用的默認(rèn)值b,并指定a和c只調(diào)用函數(shù)時?例如,我想your inputs are a:3, b:2, c:1.在調(diào)用foo(a=3,c=1).但是,通過調(diào)用foo(a=3,c=1),控制臺日志是your inputs are a:3, b:1, c:3.。JavaScript 認(rèn)為c=1應(yīng)該是第二個參數(shù)的值,b而第三個參數(shù)c沒有給出,將使用其默認(rèn)值3。另外,通過調(diào)用這個函數(shù),也創(chuàng)建了a和的對象c。
1 回答

寶慕林4294392
TA貢獻(xiàn)2021條經(jīng)驗(yàn) 獲得超8個贊
我會傳遞一個對象,并解構(gòu)參數(shù):
function foo ({ a=1,b=2,c=3 }){
console.log("your inputs are a:" +a+", b:"+b + ", c:"+c+".")
}
foo({ a: 99, c: 99 });
如果可以在沒有任何參數(shù)的情況下調(diào)用該函數(shù),請將默認(rèn)參數(shù){}也分配給:
function foo ({ a=1,b=2,c=3 } = {}){
console.log("your inputs are a:" +a+", b:"+b + ", c:"+c+".")
}
foo();
您還可以顯式傳遞undefined缺少的參數(shù):
function foo (a=1,b=2,c=3){
console.log("your inputs are a:" +a+", b:"+b + ", c:"+c+".")
}
foo(99, undefined, 99);
添加回答
舉報
0/150
提交
取消