Rumah  >  Soal Jawab  >  teks badan

Rujukan kendiri dalam literal objek/pemula

<p>Adakah terdapat cara untuk membuat sesuatu seperti berikut berfungsi dalam JavaScript? </p> <pre class="brush:php;toolbar:false;">var foo = { a: 5, b: 6, c: this.a + this.b // Tidak berfungsi };</pre> <p>Dalam bentuk semasa, kod ini nampaknya menimbulkan ralat rujukan kerana <kod>ini</kod> tidak merujuk <kod>foo</kod>. Tetapi<em>ya</em>Adakah terdapat apa-apa cara untuk menjadikan nilai dalam harta benda literal bergantung pada sifat lain yang diisytiharkan sebelum ini? </p>
P粉921130067P粉921130067441 hari yang lalu451

membalas semua(2)saya akan balas

  • P粉615829742

    P粉6158297422023-08-30 11:54:25

    Anda boleh melakukan ini:

    var foo = {
       a: 5,
       b: 6,
       init: function() {
           this.c = this.a + this.b;
           return this;
       }
    }.init();

    Ini akan menjadi sejenis pemulaan objek sekali sahaja.

    Sila ambil perhatian bahawa anda sebenarnya menambah init() 的返回值分配给 foo,因此您必须返回该值.

    balas
    0
  • P粉322319601

    P粉3223196012023-08-30 00:12:19

    Nah, satu-satunya perkara yang saya boleh beritahu anda ialah

  • Batalbalas