我想知道,你能创建一个带有可选参数的函数吗?
示例:
function parameterTest(test)
{
if exists(test)
{
alert('the parameter exists...');
}
else
{
alert('The parameter doesn\'t exist...');
}
}因此,如果调用parameterTest(),则结果将是一条消息“该参数不存在...”。如果你调用parameterTest(true),那么它会返回“参数存在...”。
这个是可能的吗?
发布于 2012-10-23 04:53:09
这是一种非常常见的模式。
您可以使用以下命令测试它
function parameterTest(bool) {
if (bool !== undefined) {然后,您可以使用这些形式之一调用您的函数:
parameterTest();
parameterTest(someValue);注意不要造成频繁的测试错误
if (!bool) {因为您无法将未提供的值与false、0或""区分开来。
发布于 2012-10-23 04:53:21
function parameterTest(bool)
{
if(typeof bool !== 'undefined')
{
alert('the parameter exists...');
}
else
{
alert('The parameter doesn\'t exist...');
}
}发布于 2012-10-23 04:51:46
在JavaScript中,如果您忽略了提供一个参数,它将缺省为undefined。
您可以在自己的浏览器控制台中或使用JSFiddle轻松地尝试它。
正如您所说,您可以检查参数是否存在,这样就可以编写一个可以使用参数或不使用参数的函数。然而,JavaScript Garden (一个很棒的资源)建议在大多数其他情况下远离typeof,因为它的输出几乎是无用的(请查看results of typeof的表格)。
https://stackoverflow.com/questions/13019640
复制相似问题