【发布时间】:2021-01-30 18:06:19
【问题描述】:
当我尝试运行它时,我看到了一个给出错误输出的示例。我不明白为什么在按顺序提供时会得到错误的结果。在最后一次通话中,我期待a=7, b=10。怎么了?
"use strict";
function f(a=1, b=2){ return(`a=${a}, b=${b}`) }
f() // a=1, b=2
f(a=5) // a=5, b=2
f(a=7, b=10) // a=7, b=10
f(b=10, a=7) // Order is required: a=10, b=7
【问题讨论】:
-
JavaScript 没有关键字参数。
-
@FilipSeman no.
-
为了澄清这里的具体行为,
a=7和b=10是 assignments,它们是计算分配值的表达式。与函数中定义的参数名称无关,您可以使用f(foo=1, bar=2),它仍然与f(1, 2)相同。
标签: javascript default-arguments