0

たとえば5つの引数を期待し、最初の3つと5番目の引数を指定するJavascript関数を呼び出すことはできますが、4番目の引数は存在しない、つまりnullまたは未定義にする必要があります。私が使用したいこの形式は次のようになります。myfunction(1,2,3、、5);

間に何もない「ダブルコンマ」が「null」などとして通過できるかどうかはわかりませんが、5番目の引数は問題なく通過します。

myfunction(1,2,3)を呼び出すことができ、関数が#4と#5を予期している場合、これらは未定義または未定義のタイプとして表示されますが、問題ありません。途中で省略しているので困っています。

ありがとう、stackoverflowファン!

Ps myfunction(1,2,3、null、5); 動作しているように見えますが、それは一種の冗談のようです。ペアのコンマだけはどうですか?

4

3 に答える 3

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

いいえ、ダブルコンマだけを実行することはできません。

于 2012-06-30T05:22:34.623 に答える
1

残念ながら、二重コンマは許可されておらず、構文エラーがスローされます。

于 2012-06-30T05:25:19.797 に答える
1

メソッドを呼び出す代わりに、を使用してメソッドを呼び出すことができますapply。これにより、引数を配列として渡すことができ、必要な種類の構文を使用することもできます。

function foo(a, b, c, d, e) {

}

foo.apply(foo, [1,,,,5]);

ここaに、、1eなります5。他のすべての引数はになりますundefined

于 2012-06-30T07:18:36.500 に答える