如何在javascript函数中为参数的特定默认值设置值
对不起,如果这是一个转载,但我还没有找到答案 假设您具有以下功能:如何在javascript函数中为参数的特定默认值设置值,javascript,Javascript,对不起,如果这是一个转载,但我还没有找到答案 假设您具有以下功能: function calculus(a, b = 2, c = 3) { return a + b - c; } 我想做的是传递参数a和c的新值,而不必编辑b 因此,我在下面的代码片段中编写了我尝试过的方法 函数演算(a,b=2,c=3){ 返回a+b-c; } document.body.append(“案例1:结果”+微积分(2)) document.body.appendChild(document.crea
function calculus(a, b = 2, c = 3) {
return a + b - c;
}
我想做的是传递参数a和c的新值,而不必编辑b
因此,我在下面的代码片段中编写了我尝试过的方法
函数演算(a,b=2,c=3){
返回a+b-c;
}
document.body.append(“案例1:结果”+微积分(2))
document.body.appendChild(document.createElement(“br”));
document.body.append(“案例2:结果”+微积分(2,2,2))
document.body.appendChild(document.createElement(“br”));
document.body.append(“Csse 3:Result”+演算(2,c=2))
document.body.appendChild(document.createElement(“br”));
//下一行语法错误
//document.body.append(“案例4:+calculation(2,c:3))只需传递
未定义的参数即可:
函数演算(a,b=2,c=3){
返回a+b-c;
}
document.body.append(“案例1:结果”+微积分(2))
document.body.appendChild(document.createElement(“br”));
document.body.append(“案例2:结果”+微积分(2,2,2))
document.body.appendChild(document.createElement(“br”));
document.body.append(“案例3:结果”+演算(2,未定义,2))
document.body.appendChild(document.createElement(“br”));
document.body.append(“案例4:Result”+演算(2,未定义,3))
只需对要忽略的参数传递未定义的
:
函数演算(a,b=2,c=3){
返回a+b-c;
}
document.body.append(“案例1:结果”+微积分(2))
document.body.appendChild(document.createElement(“br”));
document.body.append(“案例2:结果”+微积分(2,2,2))
document.body.appendChild(document.createElement(“br”));
document.body.append(“案例3:结果”+演算(2,未定义,2))
document.body.appendChild(document.createElement(“br”));
document.body.append(“案例4:Result”+演算(2,未定义,3))对此没有特殊语法,但可以使用如下语法:
calculus( ...[2,,2] )
这将通过a
和c
作为2
和b
作为未定义的。因此,当b
为undefined
时,将使用b
的默认值。另外,要知道使用演算(…[2,2])
与执行以下操作相同:
calculus( 2, undefined, 2 )
扩展语法myFunction(…array)
只是这里使用相同逻辑的一个简单方法
函数演算(a,b=2,c=3){
返回a+b-c;
}
document.body.append(“案例1:演算(2)-->”+演算(2))
document.body.appendChild(document.createElement(“br”));
document.body.append(“案例2:微积分(2,2,2)-->”+微积分(2,2,2))
document.body.appendChild(document.createElement(“br”));
document.body.append(“Csse 3:演算(…[2,2])-->“+演算(…[2,2]))
document.body.appendChild(document.createElement(“br”));
document.body.append(“案例4:演算(…[2,3])-->”+演算(…[2,3]))
document.body.appendChild(document.createElement(“br”));
document.body.append(“案例5:演算(2,未定义,3)-->”+演算(2,未定义,3))
对此没有特殊语法,但可以使用以下语法:
calculus( ...[2,,2] )
这将通过a
和c
作为2
和b
作为未定义的。因此,当b
为undefined
时,将使用b
的默认值。另外,要知道使用演算(…[2,2])
与执行以下操作相同:
calculus( 2, undefined, 2 )
扩展语法myFunction(…array)
只是这里使用相同逻辑的一个简单方法
函数演算(a,b=2,c=3){
返回a+b-c;
}
document.body.append(“案例1:演算(2)-->”+演算(2))
document.body.appendChild(document.createElement(“br”));
document.body.append(“案例2:微积分(2,2,2)-->”+微积分(2,2,2))
document.body.appendChild(document.createElement(“br”));
document.body.append(“Csse 3:演算(…[2,2])-->“+演算(…[2,2]))
document.body.appendChild(document.createElement(“br”));
document.body.append(“案例4:演算(…[2,3])-->”+演算(…[2,3]))
document.body.appendChild(document.createElement(“br”));
document.body.append(“案例5:演算(2,未定义,3)-->”+演算(2,未定义,3))
通过依次指定2个逗号并将其全部包装在一个数组中,可以跳过指定此参数
calculus([2,,3])
通过依次指定2个逗号并将其全部包装在一个数组中,可以跳过指定此参数
calculus([2,,3])
c=2
函数调用内部只是一个变量赋值,因此您隐式创建了一个全局变量c。c=2
函数调用内部只是一个变量赋值,因此您隐式创建了一个全局变量c。感谢您的回答,也许将来会添加类似“c=2”的语法,因为我希望在调用函数并开始键入函数args时,函数至少需要第一个参数,就像linting告诉您需要第一个参数一样;我假设object/array params不会这样做感谢您的回答,也许将来会添加类似“c=2”的语法,因为我希望当您调用函数并开始键入函数args时,函数至少需要第一个参数,比如linting向您显示需要第一个参数;我假设对象/数组参数不会这样做