JavaScript传值与传址问题

JavaScript传值与传址问题

传值:

let a = 1;
let b = a;
console.log(a, b);
//结果是1 1
b = 3;
console.log(a, b);
//结果是1 3
//这里b的改变不会影响a的

传址:

let c = {name:"hello"};
let d = c;
console.log(c, d);
//这里结果显示:{name:"hello"}   {name:"hello"}
c.name = "Hi";
console.log(c, d);
//这里结果显示:{name:"Hi"}    {name:"Hi"}
//这里d的改变会影响c

总结: 基本量传值,对象传址

举例子说明:
背景:小明的老爸有一辆玩具车和一辆兰博基尼
传值: 小明和他老爸说,我也想有个玩具车,小明老爸说可以没问题,给你买一个!
传址: 小明和他老爸说,我想买个兰博基尼,小明老爸说这个太贵了呀,我把我的兰博基尼给你开吧,这是共用同一辆兰博基尼。

传值:就是两个结果相同,但是如果改变一方另一方不受丝毫影响。

传址:二者共用同一个地址,如果一方改变,另一方也会随着改变。

刚开始学JS,第一篇博客写着玩,莫怪。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值