Bagaimanakah saya boleh mengakses objek induk objek bersarang dalam JavaScript?

Susan Sarandon
Lepaskan: 2024-10-25 03:29:29
asal
278 orang telah melayarinya

How can I access the parent object of a nested object in JavaScript?

Mendapatkan Objek Induk Objek Bersarang dalam JavaScript

Apabila bekerja dengan objek JavaScript bersarang, ia boleh berguna untuk mengakses objek induk bagi objek bersarang yang diberikan. Walau bagaimanapun, ini tidak boleh dilakukan secara langsung dalam JavaScript.

Objek bersarang (objek anak) tidak mempunyai rujukan yang jelas kepada objek induknya (objek induk). Ini bermakna objek kanak-kanak tidak boleh mengakses sifat atau kaedah objek induknya secara langsung.

Sebagai contoh, memandangkan hierarki objek berikut:

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

Menetapkan rujukan kepada subobjek:

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

Tiada kaedah terbina dalam untuk s mengakses objek obj secara langsung.

Satu pendekatan untuk menangani perkara ini ialah dengan menetapkan rujukan secara manual kepada objek induk dalam objek anak. Ini boleh dilakukan menggunakan fungsi:

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

Dalam fungsi init, kami menetapkan ini (objek utama) kepada sifat bernama ibu bapa dalam objek anak. Ini membolehkan s mengakses obj:

<code class="js">s.parent.name  // Output: "main object"</code>
Salin selepas log masuk

Perlu diingat bahawa pendekatan ini melibatkan pengubahsuaian struktur objek asal dan memerlukan pemulaan manual. Walau bagaimanapun, ia menyediakan cara untuk mengakses objek induk daripada objek bersarang dalam JavaScript.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengakses objek induk objek 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!