簡體   English   中英

javascript如何將屬性添加到對象?

[英]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方法來向對象添加屬性。

bc解析為相同的字符串( [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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM