検索

ホームページ  >  に質問  >  本文

JavaScriptの出力値

var a={},
b={key:'b'},
c={key:'c'};

a[b]=123;
a[c]=456;

console.log(a[b]);//出力は 456 です。
出力結果が 456 になる理由がわかりません。説明を手伝ってください。

迷茫迷茫2796日前769

全員に返信(3)返信します

  • 黄舟

    黄舟2017-06-12 09:32:19

    JavaScript では、[] 访问对象属性时, 方括号中的表达式将会被求值并被转换成一个字符串,调用它的toString メソッドを渡すとき。
    つまり:

    リーリー

    それではbc 均转换成相同的字符串 [object Object]、再度割り当てると上書きされてしまいます

    返事
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-12 09:32:19

    a[b]=123; この手順を実行すると、console.log(a) が突然わかります。

    返事
    0
  • phpcn_u1582

    phpcn_u15822017-06-12 09:32:19

    メソッドにオブジェクトを入れます。 b 当做 a 的属性,就会先调用对象btoString() リーリー

    それで、

    リーリー

    返事
    0
  • キャンセル返事