Bagaimanakah Anda Boleh Mengakses Objek Induk Objek Anak Bersarang dalam JavaScript?

Patricia Arquette
Lepaskan: 2024-10-25 02:04:30
asal
941 orang telah melayarinya

How Can You Access the Parent Object of a Nested Child Object in JavaScript?

Objek Javascript: Menentukan Parentage

Dalam Javascript, objek boleh bersarang, mewujudkan struktur hierarki. Walau bagaimanapun, mengakses objek induk daripada objek anak bersarang boleh menjadi mencabar.

Pertimbangkan objek bersarang berikut:

<code class="javascript">obj: { subObj: { foo: 'hello world' } };</code>
Salin selepas log masuk

Untuk merujuk subjek dalam s, kami menggunakan:

<code class="javascript">var s = obj.subObj;</code>
Salin selepas log masuk

Sekarang, kami ingin mendapatkan objek induk obj menggunakan s.

Malangnya, tiada mekanisme langsung untuk mendapatkan semula objek induk daripada objek anak dalam Javascript. Ini kerana objek kanak-kanak tidak mempunyai pengetahuan tentang kewujudan ibu bapanya.

Penyelesaian Alternatif

Satu penyelesaian adalah menggunakan fungsi untuk mewujudkan hubungan ibu bapa-anak dalam objek bersarang . Melanjutkan kod di atas:

<code class="javascript">var main = {
    name : "main object",
    child : {
        name : "child object",
        parent : null
    },
    init : function() {
        this.child.parent = this;
        delete this.init;
        return this;
    }
}.init();</code>
Salin selepas log masuk

Dalam fungsi init, kami menetapkan objek induk kepada sifat induk dalam objek anak. Dengan memanggil ini, kami merujuk kepada objek semasa (iaitu utama) dari dalam objek anak bersarang. Akhir sekali, kami mengalih keluar fungsi init untuk kejelasan kod.

Menggunakan teknik ini, kami kini boleh mengakses objek induk daripada anak:

<code class="javascript">main.child.parent.name // returns "main object"</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Anda Boleh Mengakses Objek Induk Objek Anak Bersarang dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!