在一组中间的JavaScript函数参数可以省略吗?

在一组中间的JavaScript函数参数可以省略吗?,javascript,function,arguments,Javascript,Function,Arguments,可以调用一个Javascript函数,该函数需要五个参数,并提供前三个参数和第五个参数,但我希望第四个参数不存在,即null或未定义。我想使用的形式是:myfunction(1,2,3,5) 我不知道它们之间没有任何内容的“双逗号”是否可以作为“null”之类的内容通过,但是第五个参数通过时没有问题 您可以调用myfunction(1,2,3),如果该函数需要#4和#5,则它们显示为未定义或typeof未定义,就可以了。这是我中间遇到的一个省略的问题。 谢谢你,stackoverflow粉丝们

可以调用一个Javascript函数,该函数需要五个参数,并提供前三个参数和第五个参数,但我希望第四个参数不存在,即null或未定义。我想使用的形式是:myfunction(1,2,3,5)

我不知道它们之间没有任何内容的“双逗号”是否可以作为“null”之类的内容通过,但是第五个参数通过时没有问题

您可以调用myfunction(1,2,3),如果该函数需要#4和#5,则它们显示为未定义或typeof未定义,就可以了。这是我中间遇到的一个省略的问题。

谢谢你,stackoverflow粉丝们

p.s.myfunction(1,2,3,null,5);似乎有效,但这似乎有点胡闹,就用两个逗号怎么样?

试试看

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
。所有其他参数将
未定义

如果未通过,您是指第四个参数的默认参数?如果未通过,您是指第四个参数的默认参数?