js简单问题,11111

var a ={
name: 'a'
}
var b = a
b.name = 'b'
此时a.name值为什么,请说下原因。

a.name的值是'b'
js中对象和数组是按引用地址传递的。
当把一个对象从一个变量传递到另一个变量中时,两个变量都指向这同一个对象的引用地址。
当对对象的name属性赋值时,实际上是先读取变量中的引用地址找到对象,再改变这个对象的name属性。
这样之后再用另一个变量中的引用地址所找到的也是这同一个对象,会获取到一样的对象内容。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632