Gui*_*ser 55 javascript function
我想知道,你能用可选参数创建一个函数吗?
例:
function parameterTest(test)
{
if exists(test)
{
alert('the parameter exists...');
}
else
{
alert('The parameter doesn\'t exist...');
}
}
Run Code Online (Sandbox Code Playgroud)
因此,如果您调用,parameterTest()则结果将是消息"参数不存在...".如果你打电话,parameterTest(true)它会返回"参数存在...".
这可能吗?
Den*_*ret 78
这是一种非常频繁的模式.
你可以用它来测试它
function parameterTest(bool) {
if (bool !== undefined) {
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用以下表单之一调用您的函数:
parameterTest();
parameterTest(someValue);
Run Code Online (Sandbox Code Playgroud)
注意不要经常出现测试错误
if (!bool) {
Run Code Online (Sandbox Code Playgroud)
因为您无法区分未提供的值false,0或"".
Joh*_*han 10
function parameterTest(bool)
{
if(typeof bool !== 'undefined')
{
alert('the parameter exists...');
}
else
{
alert('The parameter doesn\'t exist...');
}
}
Run Code Online (Sandbox Code Playgroud)
在JavaScript中,如果您忽略提供参数,则默认为undefined.
您可以在浏览器控制台或使用JSFiddle轻松地尝试自己.
正如您所说,您可以检查参数是否存在,然后编写一个可以使用参数的函数.但是,JavaScript Garden(一个很好的资源)建议远离typeof大多数其他情况,因为它的输出几乎没用(查看typeof结果表).
如果不存在则初始化默认值:
function loadDialog(fn, f, local, anim) {
switch (arguments.length) {
case 1: f=null;
case 2: local=false;
case 3: anim=false;
}
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60148 次 |
| 最近记录: |