在一组中间的JavaScript函数参数可以省略吗?
可以调用一个Javascript函数,该函数需要五个参数,并提供前三个参数和第五个参数,但我希望第四个参数不存在,即null或未定义。我想使用的形式是:myfunction(1,2,3,5) 我不知道它们之间没有任何内容的“双逗号”是否可以作为“null”之类的内容通过,但是第五个参数通过时没有问题 您可以调用myfunction(1,2,3),如果该函数需要#4和#5,则它们显示为未定义或typeof未定义,就可以了。这是我中间遇到的一个省略的问题。 谢谢你,stackoverflow粉丝们 p.s.myfunction(1,2,3,null,5);似乎有效,但这似乎有点胡闹,就用两个逗号怎么样?试试看在一组中间的JavaScript函数参数可以省略吗?,javascript,function,arguments,Javascript,Function,Arguments,可以调用一个Javascript函数,该函数需要五个参数,并提供前三个参数和第五个参数,但我希望第四个参数不存在,即null或未定义。我想使用的形式是:myfunction(1,2,3,5) 我不知道它们之间没有任何内容的“双逗号”是否可以作为“null”之类的内容通过,但是第五个参数通过时没有问题 您可以调用myfunction(1,2,3),如果该函数需要#4和#5,则它们显示为未定义或typeof未定义,就可以了。这是我中间遇到的一个省略的问题。 谢谢你,stackoverflow粉丝们
function foo(a, b, c) { return a + b + c; }
foo(1,2,3)
> 6
foo(1,,3)
> SyntaxError: Unexpected token ,
foo(1,null,3)
> 4
所以不,你不能只使用双逗号。试试看
function foo(a, b, c) { return a + b + c; }
foo(1,2,3)
> 6
foo(1,,3)
> SyntaxError: Unexpected token ,
foo(1,null,3)
> 4
因此,不能只使用双逗号。不幸的是,不允许使用双逗号,这会引发语法错误。不幸的是,不允许使用双逗号,这会引发语法错误。可以使用
apply
来调用该方法,而不是调用该方法。这将允许您将参数作为数组传递,还允许您使用所需的语法类型
function foo(a, b, c, d, e) {
}
foo.apply(foo, [1,,,,5]);
这里
a
将是1
,e
将是5
。所有其他参数都将未定义
而不是调用该方法,您可以使用apply
调用该方法。这将允许您将参数作为数组传递,还允许您使用所需的语法类型
function foo(a, b, c, d, e) {
}
foo.apply(foo, [1,,,,5]);
这里
a
将是1
,e
将是5
。所有其他参数将未定义
如果未通过,您是指第四个参数的默认参数?如果未通过,您是指第四个参数的默认参数?