JavaScriptの出力値
迷茫
迷茫 2017-06-12 09:30:19
0
3
704

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

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

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

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全員に返信(3)
黄舟

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

リーリー

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

いいねを押す +0
曾经蜡笔没有小新

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

いいねを押す +0
phpcn_u1582

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

それで、

リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!