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建议的对象分解。非常感谢。