a = 0;
b = 0;function func() {
    a += 1;
    b += 2;
}
func();
alert(a);
alert(b);

解决方案 »

  1.   

    比如有4个变量
    a = 0;
    b = 0;
    c = 0;
    d = 0;一个函数 func(x, y),func(x, y)实现的功能就是
    x += 1;
    y += 2;func(a, b); // 结果是 a = 1,b = 2
    func(d, c); // 结果是 c = 2,d = 1传递的参数是未知的。但是函数要能改变传递进来的参数。这个func(x, y)应该怎么写
      

  2.   

    放在同一个对象里可以实现:
    function test()
    {
       this.a=0;
       this.b=0;
       this.addPara=function()
       {
          this.a+=1;
          this.b+=1;
       }
    }
      

  3.   

    JS对于对象类型的参数使用的是传址,其他类型的是用传值所以,吧数字类型再封装一次就可以了 function Object(){
    this.Value=0;
    if(arguments.length>0){
    if(arguments.length==1)
    this.Value=arguments[0];
    else{
    this.Value=new Array();
    for(var i=0;i<arguments.length;i++)
    this.Value[this.Value.length]=arguments[i];
    }
    }
    }
    var a=new Object(1);
    var b=new Object(2);
    alert(a.Value);
    alert(b.Value);
    function T(a,b){
    a.Value++;
    b.Value+=2;
    }
    T(a,b)
    alert(a.Value);
    alert(b.Value);