问题标签 [optional-parameters]

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 投票
7 回答
231 浏览

actionscript - Recommended initialization values for numbers

Assume you have a variety of number or int based variables that you want to be initialized to some default value. But using 0 could be problematic because 0 is meaningful and could have side affects.

Are there any conventions around this?

I have been working in Actionscript lately and have a variety of value objects with optional parameters so for most variables I set null but for numbers or ints I can't use null. An example:

The difficulty is that using 0 in the above code might be problematic if the value is not ever changed from its initial value. It is easy to detect if a variable has a null value. But detecting 0 may not be so easy because 0 might be a legitimate value. I want to set a default value to make the parameter optional but I also want to later detect in my code if the value was changed from its default without hard to debug side affects.

I suppose I could use something like -1 for a value. I was wondering if there are any well known coding conventions for this kind of thing? I suppose it depends on the nature of the variable and the data.

This is first my stack overflow question. Hopefully the gist of my question makes sense.

0 投票
3 回答
7269 浏览

php - 如何在第一个可选参数之后在 PHP 中设置可选参数

我对php相当陌生,我想知道如何在第一个可选参数之后设置可选参数?

例如我有以下代码:

如果我拨打以下电话:

我想尝试拨打电话,以便在最后一个示例中将“pota”显示为默认的 $veg 参数,但传递给 $test 'i am set'。

我想我可以将 0 传递给 $veg 然后在代码中分支它来表示如果 $veg =0 然后使用 'pota' 但只是想知道是否还有其他语法,因为我在 php.net 中找不到任何关于它的内容。

0 投票
3 回答
15883 浏览

c# - 如何在 C# 中使用默认参数?

在其他语言中,我可以设置方法签名,例如

如果我在方法调用中没有收到参数,这会将参数默认为hardboiledtrue

我将如何在 C# 中实现这一点?

0 投票
3 回答
419 浏览

c# - 可选参数

我有一个采用一堆可选参数的方法,并且我正在重载该方法以提供不同的签名组合。Intellisense 会弹出一堆不同的签名,但我认为现在看起来很混乱,因为我需要提供不同的组合,而不仅仅是在方法签名的末尾建立参数。

我是否应该不重载我的方法并坚持一个签名,以便我的方法的用户必须传入空值?它会使签名更清晰,但会使调用代码看起来更混乱。

0 投票
2 回答
435 浏览

c# - C# 4.0 以及可选参数和重载的组合是否会给您关于歧义的警告?

我已经开始阅读 Jon Skeet 的书的早期访问版本,其中包含有关 C# 4.0 的部分,有一件事让我印象深刻。不幸的是,我没有可用的 Visual Studio 2010,所以我想我只是在这里问一下,看看是否有人知道答案。

如果我有以下代码,现有代码和新代码的混合:

编译器会在定义站点或调用站点抱怨可能的歧义吗?

例如,这段代码实际上会做什么?

会编译吗?它会调用不带 z 参数的那个,还是调用带 z 参数的那个?

0 投票
17 回答
11486 浏览

php - PHP是否允许命名参数,以便可以从函数调用中省略可选参数?

在调用函数/方法时是否可以在 PHP 中指定命名的可选参数,跳过您不想指定的参数(如在 python 中)?

就像是:

0 投票
10 回答
275861 浏览

python - 普通参数与关键字参数

“关键字参数”与常规参数有何不同?不能将所有参数都传递为name=value而不是使用位置语法吗?

0 投票
1 回答
1241 浏览

delphi - Active X 库中的可选参数

我在 Delphi 中创建了一个 ActiveX 库,其中一个特定的对象有一个名为 DevelopmentCount 的属性,带有一个日期类型的参数。在内部,属性 getter 调用普通 Delphi 对象上类似命名的函数,其中单个参数是可选的(最后一个因素可能无关紧要)。

当我们在 Delphi 2006 中将这个库编译给最终用户(使用 Excel VBA)时,似乎 DevelopmentCount 属性的单个参数是可选的。

我们已经转移到 Delphi 2009(已经使用了 6 个月或更长时间)。当使用 Delphi 2009 编译同一个库时,对于最终用户而言,DevelopmentCount 属性的单个参数不再是可选的。

我的问题是,如何使这个参数在 Delphi 2009 中看起来是可选的。

0 投票
5 回答
26691 浏览

sql - SQL Server:存储过程中的可选变量

我想知道是否无论如何我可以将我的存储过程参数之一设置为可选。

0 投票
5 回答
4184 浏览

c++ - C++ 和 C 中的可变参数列表

我正在用 C++ 重写一个 C 程序以利用 OO 方面的优势,因此它可以轻松支持多种设备,并且程序的一部分是表达式评估器。表达式可以有函数调用,这里是函数的结构。

不知何故 func 可以通过它传递可变数量的参数。

老实说,我什至不确定如何在 C 中做到这一点。一个解释会很好。可以用 C++ 完成吗?