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);

 

转载于:https://www.cnblogs.com/WhiteHorseIsNotHorse/p/6261614.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值