demo1
var a = {n:1}
var b = a
b.n = 3
console.log(a)
输出:{n: 3}
demo1
var a = 1
var b = a
b = 3
console.log(a)
输出: 1
能否简单的说明一下为什么 demo1 的值 a
会变化,demo2 的值 a
不会变化?
demo1
var a = {n:1}
var b = a
b.n = 3
console.log(a)
输出:{n: 3}
demo1
var a = 1
var b = a
b = 3
console.log(a)
输出: 1
能否简单的说明一下为什么 demo1 的值 a
会变化,demo2 的值 a
不会变化?
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答5.2k 阅读✓ 已解决
1 回答3.4k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
https://www.runoob.com/w3cnot...
对于下面的例子,a是基本类型的数据,它本身存的值就是这个数据,把它赋值给b,就是复制了一份过去,所以改变b不会影响a
对于上面的例子,a是引用类型的数据,a的值其实是对象
{n:1}
在内存中的地址,把它赋值给b,是把对象{n:1}
的地址复制了一份过去,所以a和b本质上指向的还是同一个数据,对b的修改页当然会影响到a了