首页 > 开发 > JS > 正文

对象的属性值可以是对象吗?

2017-09-05 05:51:27  来源:网友分享

1.请问对象的属性值可以是对象吗?
2.`var a = {};

var b = {'key':123};var c = {'key':456};a[b] = 123;a[c] = 456;console.log(a[b]);`

3.为什么输出是456呢?不太理解,求教

解决方案

因为用对象作为key时,先会被隐式转换为字符串,其值为[object Object]。所以a[b]其实是a.[object Object],然后c也是对象,转换后key值一样,其实导致了重写,值变为456。