请教大虾们:
原函数
function x(a,b,c){
//--
}能不能用一个y代替a,b,c
y要如何做才能向x传递了abc三个参数?
function x(y){
//-----
}

解决方案 »

  1.   

    方法一:
    var a = 1 , b = 2 , c = 3;
    y = [a , b , c];
    //传入一个数组
    x(y);写法二
    var a = 1 , b = 2 , c = 3;
    function x(){
        //用内置属性arguments
        alert(arguments);
    }
    x(a , b , c);
      

  2.   

    //JSON对象
    function x(y){
    //-----
    alert(y.a+'\n'+y.b+'\n'+y.c);
    }x({a:'a',b:'b',c:'c'})
      

  3.   

    不清楚你产生这个需求的背景,如果普通的话只能这样来处理:function x(a, b, c){
        console.log(a);
        console.log(b);
        console.log(c);
    }function y(z){
        console.log(z);
        var d = null,
            e = null;
        if(d = arguments[1]){
            console.log(d);
        }
        
        if(e = arguments[2]){
            console.log(e);
        }
    }x(1,2,3);
    y(4,5,6);
      

  4.   

    js函数的参数列表本身就是个数组,所有参数都在arguments里
      

  5.   

    1楼的方法一  二楼的方法  都可以  ,就是 模式里常说的 Request-Response模式,把参数封装到一个对象里面 ,作为一个整体去做参数。
      

  6.   


    有没有在函数里面仍然直接用a  b  c的法子?
    因为我是用来修改jquery ui dialog函数的,dialog里面有一个显示show函数支持a,b,c三个参数的,但dialog函数在值参时,不让我传进去,它只允许传一个参数,string或者object如果用版主的办法,那我得去dialog里面加二条语句(已试,成功了),但不很想改动dialog函数
    当然,如果没有就算了,谢谢了!~