Javascript 前面参数的默认值

Javascript 前面参数的默认值,javascript,ecmascript-6,Javascript,Ecmascript 6,这是个棘手的问题。如果前面的参数有默认值,如何将值传递给最后一个参数 函数和(a=10,b=7,c){ 返回a+b+c; } document.getElementById(“结果”).innerHTML=sum(10) 您可以使用命名参数(解构赋值)。基本上,您的函数接收一个对象,您仍然可以设置默认值并只传递所需的属性。使用这种方法,属性的顺序根本不重要。您可以调用sum({c:2})或sum({a:3,c:4})。。或者别的什么 进一步阅读: 函数和({a=10,b=7,c}){ 返回a

这是个棘手的问题。如果前面的参数有默认值,如何将值传递给最后一个参数

函数和(a=10,b=7,c){
返回a+b+c;
}
document.getElementById(“结果”).innerHTML=sum(10)

您可以使用命名参数(解构赋值)。基本上,您的函数接收一个对象,您仍然可以设置默认值并只传递所需的属性。使用这种方法,属性的顺序根本不重要。您可以调用
sum({c:2})
sum({a:3,c:4})
。。或者别的什么

进一步阅读:

函数和({a=10,b=7,c}){
返回a+b+c;
}
document.getElementById(“result”).innerHTML=sum({c:10})

您可以使用命名参数(解构赋值)。基本上,您的函数接收一个对象,您仍然可以设置默认值并只传递所需的属性。使用这种方法,属性的顺序根本不重要。您可以调用
sum({c:2})
sum({a:3,c:4})
。。或者别的什么

进一步阅读:

函数和({a=10,b=7,c}){
返回a+b+c;
}
document.getElementById(“result”).innerHTML=sum({c:10})

显式传递
未定义的
以获取默认值:

函数和(a=10,b=7,c){
返回a+b+c;
}
常量结果=总和(未定义,未定义,10);

控制台日志(结果)
显式传递
未定义
以获取默认值:

函数和(a=10,b=7,c){
返回a+b+c;
}
常量结果=总和(未定义,未定义,10);

控制台日志(结果)您可以声明为:
函数和(c,a=10,b=7)
然后使用:
sum(10)

函数和(c,a=10,b=7){
返回a+b+c;
}
document.getElementById(“结果”).innerHTML=sum(10)

您可以声明为:
函数和(c,a=10,b=7)
然后使用:
sum(10)

函数和(c,a=10,b=7){
返回a+b+c;
}
document.getElementById(“结果”).innerHTML=sum(10)
函数和(a,b=10,c=7){
返回a+b+c;
}
函数和(a,b=10,c=7){
返回a+b+c;

}
为什么要更改订单?这是使用“按自己的方式”的唯一方法(
sum(10)
)!对于和,普通的数字并不重要!为什么要更改订单?这是使用“按自己的方式”的唯一方法(
sum(10)
)!对于和,普通的数字并不重要!你能解释一下吗?@ketan Ive更新了我的答案并添加了一些有价值的信息:)好的,谢谢。@Ivar idk如果有“官方名称”,我知道很多名称:“命名参数”、“参数上下文匹配”、“解构赋值”。。等等,但是我更新了我的答案以避免将来的混淆。你能解释一下吗?@ketan我更新了我的答案并添加了一些有价值的信息:)好的,谢谢。@Ivar idk如果有一个“正式名称”,我知道很多名称:“命名参数”,“参数上下文匹配”,“解构分配”。。etc但是我更新了我的答案以避免将来的混淆。我使用了默认参数,为什么我要传递3个值?因为如果传递给它们的值是
未定义的
,则会返回默认参数。通常默认参数是最后一个参数,当您传递第一个参数时,其他参数隐式地
未定义
。在本例中,它是最后一个参数,因此需要显式地传递
undefined
。如果希望使用默认值的无序参数,请使用@CristianS.ok建议的对象分解。谢谢我使用了默认参数,那么为什么我要传递3个值呢?因为如果传递给它们的值是
未定义的
,则会返回默认参数。通常默认参数是最后一个参数,当您传递第一个参数时,其他参数隐式地
未定义
。在本例中,它是最后一个参数,因此需要显式地传递
undefined
。如果希望使用默认值的无序参数,请使用@CristianS.ok建议的对象分解。非常感谢。