javascript 变量赋值和 参数传递

Posted 白马非马

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 变量赋值和 参数传递相关的知识,希望对你有一定的参考价值。

先上结论!

变量赋值:

  基本类型:按照值传递 (也就是会复制一份)

  引用类型:按照引用传递(也就是会传递对象的引用)

参数传递

  基本类型:按照值传递 (也就是会复制一份)

  引用类型:按照值传递 (也就是会复制一份)//此处有疑惑!!!!

如果以上结论大家都知道,可以不用再向下看了……

 

变量赋值--基本类型
var num1 = 1;
var num2 = num1;
num2= 2;
alert(num1);//1

变量赋值--对象类型 var obj1 = new Object(); //修改指向 var obj2 = obj1; obj2.name = haha; alert(obj2.name); //结果是 haha
    function setName(obj){
        obj.name=haha;
        obj= new Object();
        obj.name=wuwuwu;
    }
    var person= new Object();
    alert(person.name);//按照作者的话 此处是haha 而不是wuwuwu说明是值传递而不是引用(感觉这个例子有问题啊)

    //  可是我用变量赋值 结果依然是haha 而不是wuwu。 
    var obj1 = new Object();
    //修改指向
    var obj2 = obj1;
    obj2.name = haha;
    obj2= new Object();
    obj2.name=wuwuwu;
    alert(obj1.name);

 





以上是关于javascript 变量赋值和 参数传递的主要内容,如果未能解决你的问题,请参考以下文章

out参数不用赋值?这么神奇吗!

out参数不用赋值?这么神奇吗!

JavaScript高级程序设计(复制变量值传递参数)

JavaScript学习系列博客_16_JavaScript中的函数的参数返回值

把JavaScript的变量赋值给php的变量

JavaScript--函数-按值传递