你搞错了!!!!!!function ChangeMyVar(Param1) {
    MyVar=200;
  }
  var MyVar=100;
  ChangeMyVar(MyVar);
  window.alert(MyVar);________________________
这样才对。你那样只不过把MyVar赋给Param1而已(你是不是从C过来的?C的指针好像可以实现你那样的想法,我是C盲,猜的,不要扔鸡蛋哦)

解决方案 »

  1.   

    function ChangeMyVar(Param1) {
        MyVar=Param1;
      }  var MyVar=100;
      var MyVar2=200  ChangeMyVar(MyVar2);  window.alert(MyVar);
      

  2.   

    在javascript的函数中,凡是不用var声明的都被看作全局变量,你直接对变量赋值就行了但我猜你的意思并不是简单的修改全局变量,而是希望通过参数修改,有点象C++中的“引用”:void changeVar(Type &Var)
    {
    ...
    Var = Value;
    ...
    }Type GlobalVar;
    changeVar(GlobalVar);也就是,函数内要修改的全局变量并不固定,对吧?javascript 中简单变量没有引用也没有指针(对象变量则总是使用引用),只有一个名字,所以你只能传递变量名了function ChangeMyVar(Param1) {
        this[Param1] = 200;
    }
    var MyVar=100;
    ChangeMyVar("MyVar"); //传递名字,如同C语言中传递指针
    window.alert(MyVar);
      

  3.   

    参数名取得不好function ChangeMyVar(ParamName) {
        this[ParamName] = 200;
    }
    var MyVar=100;
    ChangeMyVar("MyVar"); //传递名字,如同C语言中传递指针
    window.alert(MyVar);其中 this[ParamName] 就是对名字为 ParamName 的全局变量的引用
      

  4.   

    因为javascript是值传递调用,所以你的方法不对,上面两位解答得十分好。