質問: ユーザ関数で引数省略は可能ですか? javascriptの関数でデフォルト値は設定できますか? 下記の書き方ですと関数の呼出し側で、引数を省略した際 エラーになってしまいます。 test1(1,2); test1(1,2,3); test1(1,2,3,4); function test1(a,b,c=1,d=1) { alert (c); alert (d); }
回答: javascriptでは、関数への引数の省略は問題なく行えますが、その際のデフォルト引数を設定する機能はありません。 ただ、引数が設定されなかった変数は「undefined」となっているので、それをチェックして自分で値を設定すれば、デフォルト引数の機能は実現できます。 function test1(a, b, c, d) { if (c == undefined) c = 1; if (d == undefined) d = 1; alert(c); alert(d); } こんなんで、どうでしょうか。