RT,js函数有没有类似c++那种的形参默认的定义方式,就是我可以声明一个函数:void f(int a,int b=2),然后调用的时候可以调f(1),也可以调f(1,3)

解决方案 »

  1.   

    应用之道  不要拘泥形式function test(a,b){
       b = b || 100;
      alert([a,b]);
    }
    test(1);
    test(1,3);
      

  2.   

    可以使用javascript本身的arguments数组来实现,类似于以下的代码,只是判断参数是否已传值,再给不给默认值的问题了
    function test(){
        var a=arguments[0]?arguments[0]:"1";
        var b=arguments[1]?arguments[1]:"2";
        alert(a+":"+b)
    }
    test("333");
    test("","3333");
    test("333","444");
      

  3.   

    function test(){
        var a=arguments[0].a || "1";
        var b=arguments[0].b || "2";
        alert(a+":"+b)
    }
    test({a:"333"});
    test({b:"333"});
    test({a:"333",b:"444"});
    以前碰上需要的时候,倒是这样用得多,就是直接没有形参的定义,使用javascript的arguments
      

  4.   

    js函数执行时本就不理会你是不是传递了参数,这是js的灵活性体现
    写n多参数,调用时你一个参数都不传照样可以执行,只是需要函数内部判断参数是否有传递