问题标签 [default-arguments]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
49 浏览

php - 根据前一个参数获取默认参数的值

我有一个 PHP 函数,它接受三个参数,其中一个是可选参数。

但我必须将限制设置为默认参数并将其作为可选参数提供。所以,我所做的是:

$min大于5并且如果最大值小于最小值,则该值变为无效时出现问题。所以,我默认$max$min,所以我所做的是:

这会引发如下错误:

解析错误:语法错误,第2行的functions.php中出现意外'$min'( T_VARIABLE) 。

我目前正在以这种方式处理它:

有没有更好的方法来处理这个默认参数,将前一个参数作为输入场景?提前致谢!:)

0 投票
5 回答
266 浏览

python - 包装函数而不破坏默认参数

有没有办法转发函数参数而不隐藏原始调用提供或不提供可选参数的事实?

调用 func2() 应该导致调用 func1() 时不带参数或至少使用其默认参数,无论它们可能是什么。

以下几乎可以工作,但基本上我不知道 func2 是否有办法确定它的默认值是否被调用。

0 投票
2 回答
213 浏览

python - np.array 作为 Python 中属性的默认值被多个实例引用?

我有一个带有一些属性字段的类,它是一个 numpy 数组。该类具有生成同一类的新实例的能力。现在我的问题是这样创建的所有实例似乎都指向同一个字段属性。因此,当给定代码的预期输出为:

[0, 0]

[1, 0]

[0, 2]

它实际上给出了:

[1, 2]

[1, 2]

[1, 2]

并且当我之后更改 a.field 中的条目时,该条目在所有实例的字段属性中都发生了更改

有人知道如何解决这个问题或者我在这里理解错了吗?

0 投票
1 回答
148 浏览

r - R:如何将默认参数传递给函数?

在 .GlobalEnv 中,我定义了以下变量和函数

当我通过以下方式调用函数时

谁能帮忙解释一下?谢谢!!!

0 投票
2 回答
76 浏览

matlab - 如何判断 MATLAB 内置函数的可选参数的默认值?

有没有办法告诉 MATLAB 中可选参数的默认值?

例如,函数quadprog将作为quadprog(H, f)和运行quadprog(H,f,A,b)

有没有办法告诉我是否执行A的默认值?bquadprog(H, f)

0 投票
3 回答
248 浏览

c++ - 为什么允许使用这些默认参数?

我发现了这个问题,我完全感到困惑。

答案b是无效的,“非静态成员不能用作默认参数。”。这很有意义。

我不明白为什么其他两个都可以。事实上,如果默认值不是常量表达式,我正在努力理解语义是什么......

这里发生了什么?默认参数在编译时明确评估。编译器是否只是选择当前值?

0 投票
1 回答
75 浏览

c++ - 具有不同默认参数值的函数

当所有参数都有默认值并且只使用其中一些时,如何解析函数参数?示例:我有一个带有多个默认值参数的函数

我想将它与不同的参数值一起使用,例如:

如何确定使用了哪些参数?参数的最大值是已知的,并且顺序将始终相同。我不想运行如下功能:

而且我不能使用可变参数函数。

有任何想法吗?

0 投票
3 回答
7705 浏览

python - 如何在 python 中覆盖方法默认参数?

方法默认参数显然可以被覆盖:

这怎么可能 ?它被认为是不好的风格吗?

0 投票
2 回答
44 浏览

php - PHP 默认参数值:编译器如何知道传递的参数值是针对哪个参数的?

在下面的代码片段中,如何printPhrase知道传递的参数是否为$aand $b(因此它使用默认值$c$aand $c(因此它使用默认值$b)?

0 投票
5 回答
985 浏览

c# - 结构初始化和默认参数的不直观行为

上面给出valid==true的原因是没有调用具有默认 arg 的构造函数,并且对象是使用标准默认值 val = 0.0 创建的。
如果结构是一个类,那么行为就是valid==false我所期望的。

我发现这种行为差异,尤其是 struct 案例中的行为令人惊讶且不直观——这是怎么回事?stuct 构造上的默认 arg 有什么作用? 如果它没用,为什么要编译?

更新:为了澄清这里的重点不是行为是什么 - 而是为什么它会在没有警告的情况下编译并且行为不直观。即,如果没有应用默认参数,因为在 new Test() 情况下没有调用构造函数,那么为什么要让它编译呢?