[英]how javascript add property to an object?
我正在阅读javascript问题,我找到了这段代码
var a={},
b={key:'b'},
c={key:'c'};
a[b] = 123;
a[c] = 456;
console.log(a[b]); // o/p - 456
谁能让我理解这段代码为什么以及如何打印456 ?
而且我认为我们可以使用点即ab = 123
和字符串 a['b'] = 123
方法来向对象添加属性。
b
和c
解析为相同的字符串( [object Object]
)。 因此,您将覆盖相同的密钥。
而且我认为我们可以使用点即ab = 123和字符串a ['b'] = 123方法来向对象添加属性。
是的,你可以,但是a['b']
与a[b]
非常不同。 第一个解析为具有字符串值的键,就像它显示( 'b'
),其中另一个将取决于变量b
的字符串化值(在这种情况下是[object Object]
)。
要真正使用对象的内容,您可以使用字符串化版本。
var a = {}, b = { key: 'b' }, c = { key: 'c' }; a[JSON.stringify(b)] = 123; a[JSON.stringify(c)] = 456; console.log(a[JSON.stringify(b)]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.