函数中传参修改对象的值,内存如何运作

函数中传参修改对象的值,内存如何运作

在这里插入代码片
```		var a = {age:12};
        var b = a ;
        a = {name : 'Bob', age : 13};
        b.age = 14;
        console.log(b.age , a.name , a.age);

        function fn(obj){
            obj = {age : 15}
        };

        fn(a);
        // a中的内存内容是{name : 'Bob', age : 13}对象的地址值
        // fn函数传进a后,obj形参的内存内容变为a的内存内容,即为{name : 'Bob', age : 13}的地址值
        // 所以a和obj共同指向堆中的{name : 'Bob', age : 13}对象
        // 当obj = {age : 15}执行后,obj指向{age : 15},内存内容改变了
        // 所以a的内存内容不受影响
        console.log(a.age);//输出13

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值