首页 > 代码库 > javascript 变量赋值和 参数传递

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 变量赋值和 参数传递