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,第一篇博客写着玩,莫怪。

猜你喜欢

转载自blog.csdn.net/m0_46272108/article/details/106217190