你能调用一个Javascript函数,希望让我们说五个参数,并提供让我们说前三个和第五个,但我希望第四个参数不存在,即null或undefined。我想使用的形式是:myfunction(1,2,3,,5);
我无法弄清楚它们之间没有任何内容的“双逗号”是否可以通过“null”或类似的东西传递,但第五个参数没有问题。
你可以调用myfunction(1,2,3),如果函数需要#4和#5,那么这些函数显示为undefined或typeof undefined,就好了。这是中间的一个省略的我遇到了麻烦。
谢谢你,stackoverflow粉丝!
P.S。 MyFunction的(1,2,3,空,5);似乎工作,但这似乎有点ho,只是配对的逗号怎么样?
答案 0 :(得分:3)
试试吧。
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
所以不,你不能只做双逗号。
答案 1 :(得分:1)
不幸的是,不允许使用双逗号,这会引发语法错误。
答案 2 :(得分:1)
您可以使用apply
来调用该方法,而不是调用该方法。这将允许您将参数作为数组传递,并允许您使用所需的语法。
function foo(a, b, c, d, e) {
}
foo.apply(foo, [1,,,,5]);
此处a
将为1
,e
将为5
。所有其他参数都是undefined
。