オプション引数(省略できる引数)
2009/10/04(日) 25:19 Javascript親記事へこのエントリーをはてなブックマークに追加

関数に引数があった場合はそれを使い、なかった場合はデフォルトの値を入れる方法。
myFunc( [arg1 , arg2 , arg3]);みたな関数を作る。
function myFunc( arg1, arg2, arg3 ) {
 switch (arguments.length) {
   case 0: arg1 = 'default1';
   case 1: arg2 = 'default2';
   case 2: arg3 = 'default3';
 }
 alert ( "arg1:" + arg1 + " & arg2:" + arg2 + " & arg3:" + arg3 );
} 
myFunc("test")
arguments.lengthには実際の引数の数(1)が入るので、switch文によりcase 1:が実行される。
switch文にbreak;が入ってないので、それ以降の値もデフォルト値が設定される。

使われてないarg2,arg3にはundefinedが入るので、それをif文で分けるなら
if(typeof arg2 == 'undefined')
みたいな感じで見る。typeofがないとnullとの判別ができない。

名前:  非公開コメント   

  • TB-URL  http://efcl.info/adiary/014/tb/