Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mengakses Objek Induk daripada Objek Javascript Bersarang?

Bagaimana untuk Mengakses Objek Induk daripada Objek Javascript Bersarang?

Susan Sarandon
Susan Sarandonasal
2024-10-25 08:55:29452semak imbas

How to Access Parent Objects from Nested Javascript Objects?

Cara Mendapatkan Objek Induk daripada Objek Javascript Bersarang

Dalam Javascript, objek bersarang mewakili struktur data hierarki. Walau bagaimanapun, mendapatkan rujukan kepada objek induk daripada objek kanak-kanak tidak disokong secara langsung. Ini boleh menimbulkan cabaran apabila cuba mengakses data atau melakukan operasi pada objek induk dari dalam objek anak.

Untuk menangani isu ini, kami boleh memanfaatkan konsep pewarisan prototaip dalam Javascript. Dengan mentakrifkan sifat induk dalam objek anak, kami boleh mewujudkan pautan ke objek induk dan mengakses sifat dan kaedahnya.

Pertimbangkan contoh berikut:

<code class="javascript">const main = {
  name: "main object",
  child: {
    name: "child object",
  },
};</code>

Dalam contoh ini, objek kanak-kanak tidak mempunyai rujukan langsung kepada objek induknya, utama. Untuk mewujudkan pautan ini, kami memanjangkan objek utama dengan kaedah init:

<code class="javascript">main.init = function () {
  this.child.parent = this;
  delete this.init;
  return this;
};</code>

Dalam kaedah init, kami menetapkan objek utama sebagai harta induk objek kanak-kanak. Ini membolehkan kami mengakses sifat dan kaedah objek induk dari dalam objek anak:

<code class="javascript">main.init();
console.log(main.child.parent.name); // "main object"</code>

Dengan menggunakan pewarisan prototaip dan mentakrifkan harta induk, kita boleh mewujudkan rujukan kepada objek induk daripada objek anak, membolehkan kami mengakses data dan melakukan operasi pada objek induk dari dalam objek anak.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Objek Induk daripada Objek Javascript Bersarang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn