cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Saya mempunyai soalan tentang objek Bolehkah sesiapa membantu menjelaskannya?

var a={};
var b={key:1};
var c={key:2};
a[b]=3;
a[c]=4;
console.log(a[ b]);
Saya secara peribadi berpendapat bahawa kandungan a[b] sepatutnya 3. Var b dan var c di atas tidak berguna, tetapi jawapan sebenar ialah a[c] ialah 4, jadi saya tidak dapat memahaminya . Apakah tafsiran objek dalam js, dan bagaimana ini diduduki? Saya harap ada yang dapat menjelaskannya, terima kasih banyak-banyak. . . . . . .

PHP中文网PHP中文网2756 hari yang lalu509

membalas semua(2)saya akan balas

  • 黄舟

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

    Saya rasa soalan anda ialah mengapa nilai itu ditimpa, bukan?

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

    Jadi Jadi jika ditugaskan lagi, ia akan ditimpa.[] 访问对象属性时, 方括号中的表达式将会被求值并被转换成一个字符串,调用它的toString

    balas
    0
  • 伊谢尔伦

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

    Oleh kerana b.toString() dan c.toString() adalah kedua-duanya [Object object], jadi ia adalah sama

    balas
    0
  • Batalbalas