又是逻辑问题 var i1 = 10;放在函数前面
var i1 = 10; 
function changeArg(arg) 
  { 
      arg++; 
      alert(arg); 
  } 
  changeArg(i1); 
  alert(i1); 

解决方案 »

  1.   


      function changeArg(arg)
      {
          arg++;
          alert(arg);
          return arg;
      }  var i1 = 10;  i1 = changeArg(i1);
      alert(i1); 
      

  2.   


     function changeArg(arg) 
      { 
          arg++; 
          alert(arg); 
          return arg;//要返回值
      }   var i1 = 10;   i1=changeArg(i1); //赋值给i1
      alert(i1); 
      

  3.   

    function changeArg(arg) 

    arg.i++; 
    alert(arg.i); 
    } var i1 = { i:10}; changeArg(i1); 
    alert(i1.i); 
      

  4.   

    说错了 
    C/C++中这中方式叫传值方式不会改变传入参数的值
    只有通过传地址方式才能改变,涉及到指针,JS不支持指针 所以不能实现
      

  5.   

    代码如下:
    var i1 = 10;//把它设置为全局的也行

    function changeArg(arg)
    {
    arg++;
    alert(arg);
    i1=arg;
    }changeArg(i1);
    alert(i1);运行后:
    先打出11,然后打出10,i1没有发生变化,如何实现函数修改参数的值
      

  6.   

    用数组或者对象, 他们是以引用传递的...别的一般是以值传递的..<script>
      function changeArg(arg)
      {
          arg[0]++;
          alert(arg[0]);
      }  var i1 = [10];  changeArg(i1);
      alert(i1); 
    </script> 
      

  7.   


    我进行了一些修改,可以改变参数的值。但是这样容易混淆。2楼的方式好
    var i1 = 10; function changeArg(arg) 
      { 
          arg++; 
          i1 = arg;
          alert(arg); 
      }     changeArg(i1); 
      alert(i1);