猿问

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

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

var b = {'key':123};

var c = {'key':456};

a[b] = 123;

a[c] = 456;

console.log(a[b]);`

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

RISEBY
浏览 1217回答 1
1回答

qq_花开花谢_0

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

相关分类

JavaScript
我要回答