recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - J'ai une question sur les objets. Quelqu'un peut-il m'aider à l'expliquer ?

var a={};
var b={key:1};
var c={key:2};
a[b]=3;
a[c]=4;
console.log(a[ b]);
Personnellement, je pense que le contenu de a[b] devrait être 3. Les var b et var c ci-dessus sont inutiles, mais la vraie réponse est que a[c] vaut 4, donc je ne peux pas le comprendre . Quelle est l'interprétation des objets en js, et comment cela s'effectue-t-il ? J'espère que quelqu'un pourra l'expliquer, merci beaucoup. . . . . . .

PHP中文网PHP中文网2756 Il y a quelques jours510

répondre à tous(2)je répondrai

  • 黄舟

    黄舟2017-06-10 09:50:32

    Je suppose que votre question est de savoir pourquoi la valeur est écrasée, n'est-ce pas ? Dans
    Javascript, lorsque passe la méthode [] 访问对象属性时, 方括号中的表达式将会被求值并被转换成一个字符串,调用它的toStringDonc :
    .

    var a = {};
    b={key:1};
    console.log(b.toString()); // [object Object]
    a[b]=3;
    console.log(typeof Object.keys(a)[0]);    // string, 属性名 b 转换成了字符串.
    

    Donc

    Donc, s'il est à nouveau attribué, il sera écrasé.bc 均转换成相同的字符串 [object Object].

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-10 09:50:32

    Parce que b.toString() et c.toString() sont tous deux des [objets], ils sont donc identiques

    répondre
    0
  • Annulerrépondre