js定義パラメータのデフォルト値

2139 ワード

javascriptは、argmentsでパラメータグループを定義することができます.
 
一、簡単な定義パラメータのデフォルト値
function test1(a,b){

     //      ,      ,         "     "

     var a = typeof(arguments[0])!=="undefined"?arguments[0]:'     ';

     //      ,      ,         "     "

     var b = typeof(arguments[1])!=="undefined"?arguments[1]:'     ';

      return a+','+b;

}
test 1()は0つ、1つ、2つのパラメータを許容します.test 1()のように、結果は「これはパラメータ1です.これはパラメータ2です」です.
test 1(1)のように、結果は「1、これはパラメータ2」です.test(1,2)のように、結果は「1,2」です.
 
二、最初のパラメータがデフォルトの場合、第二のパラメータからどうやって実現されますか?
function test2(b,c){

   //           

   var a='     ';  

   if(arguments.length == 3){

      var a = arguments[0];

      var b = arguments[1];

      var c = arguments[2];

    }

      return a+','+b+','+c;

}
test()は2つ、3つのパラメータを許容します.パラメータが2つしかないなら、test(2,3)は、パラメータがデフォルト値に戻ります.結果は「パラメータ1,2,3」です.パラメータが三つあると、test(1,2,3)は、パラメータ1によって新しい値が定義されているので、結果は「1,2,3」となります.