在 JavaScript 中调用函数时正确指定参数值
correctly specify parameter values when calling a function in JavaScript
我有一个函数foo
定义如下,
foo = function(a=1,b=2,c=3){
console.log("your inputs are a:" +a+", b:"+b + ", c:"+c+".")
}
如何使用b
的默认值,只在调用函数时指定a
和c
?
例如,我想 return 在调用 foo(a=3,c=1)
时 your inputs are a:3, b:2, c:1.
的控制台日志。
然而,通过调用foo(a=3,c=1)
,控制台日志是your inputs are a:3, b:1, c:3.
。 JavaScript 认为 c=1
应该是第二个参数 b
的值,第三个参数 c
没有给出,将使用其默认值 3
.另外,通过调用这个函数,a
和c
的对象也被创建了。
我会传递一个对象,并解构参数:
function foo ({ a=1,b=2,c=3 }){
console.log("your inputs are a:" +a+", b:"+b + ", c:"+c+".")
}
foo({ a: 99, c: 99 });
如果可以在没有任何参数的情况下调用该函数,请将默认参数也分配给 {}
:
function foo ({ a=1,b=2,c=3 } = {}){
console.log("your inputs are a:" +a+", b:"+b + ", c:"+c+".")
}
foo();
您还可以显式地传递 undefined
以弥补缺少的参数:
function foo (a=1,b=2,c=3){
console.log("your inputs are a:" +a+", b:"+b + ", c:"+c+".")
}
foo(99, undefined, 99);
我有一个函数foo
定义如下,
foo = function(a=1,b=2,c=3){
console.log("your inputs are a:" +a+", b:"+b + ", c:"+c+".")
}
如何使用b
的默认值,只在调用函数时指定a
和c
?
例如,我想 return 在调用 foo(a=3,c=1)
时 your inputs are a:3, b:2, c:1.
的控制台日志。
然而,通过调用foo(a=3,c=1)
,控制台日志是your inputs are a:3, b:1, c:3.
。 JavaScript 认为 c=1
应该是第二个参数 b
的值,第三个参数 c
没有给出,将使用其默认值 3
.另外,通过调用这个函数,a
和c
的对象也被创建了。
我会传递一个对象,并解构参数:
function foo ({ a=1,b=2,c=3 }){
console.log("your inputs are a:" +a+", b:"+b + ", c:"+c+".")
}
foo({ a: 99, c: 99 });
如果可以在没有任何参数的情况下调用该函数,请将默认参数也分配给 {}
:
function foo ({ a=1,b=2,c=3 } = {}){
console.log("your inputs are a:" +a+", b:"+b + ", c:"+c+".")
}
foo();
您还可以显式地传递 undefined
以弥补缺少的参数:
function foo (a=1,b=2,c=3){
console.log("your inputs are a:" +a+", b:"+b + ", c:"+c+".")
}
foo(99, undefined, 99);