var abc = 1;
function suba(i)
{
   return i + 1;
}
window.alert(suba(abc));
如何使变量abc的指针传入函数suba  使其返回2?

解决方案 »

  1.   

    变量abc是一个值类型,不是引用类型。何来指针?
      

  2.   

    朋友,你可以这样var test={a:1};
    function add(o){
    o.a++;
    }
    alert(test.a);//1
    add(test);
    alert(test.a);//2
      

  3.   

    你的代码是可以运行的.推荐写法:
    var x = suba(abc);
    alert(x);不知你的意思?
      

  4.   

    回复楼主,如果你要想传递“指针”给函数,就需要明白function的形参原理在javascript中,所有东西都是对象,给函数的参数,除了Number和String是用赋值的方式传递的,其他对象都是用“指针”来传递的。
      

  5.   

    那你只能用对象,function ct(){
      this.x = 4;
    }function changeCt(o){
      o.x = 12;
    }var oCt = new ct();
    changeCt(oCt);
    alert(oCt.x);
      

  6.   


    JavaScript中传指针的情况发证在传递的对象为非值引用的类型上.可以参考一下:http://www.jslab.org.cn/?tag=PrototypeShare如果要修改非object类型,只能借助作用域,如:
    <script type="text/javascript">var abc = 1;
    function suba(){
       return ++abc;
    }alert(suba());
    alert(abc);</script>