Rumah >hujung hadapan web >tutorial js >Bilakah Saya Harus Menggunakan `this.var` untuk Mengakses Pembolehubah dalam Objek JavaScript?

Bilakah Saya Harus Menggunakan `this.var` untuk Mengakses Pembolehubah dalam Objek JavaScript?

Barbara Streisand
Barbara Streisandasal
2024-12-19 20:59:36219semak imbas

When Should I Use `this.var` to Access Variables in JavaScript Objects?

Akses Pembolehubah Objek dalam JavaScript: this.var or Not?

Dalam model pengaturcaraan berorientasikan objek JavaScript, adalah perkara biasa untuk tertanya-tanya sama ada setiap pembolehubah dalam objek memerlukan kata kunci ini.

this.var vs. Local Pembolehubah

Tidak seperti model berasaskan kelas C, JavaScript menggunakan pewarisan prototaip. Dalam pewarisan prototaip, semuanya ialah objek dan objek boleh diwarisi daripada objek lain.

Dalam JavaScript, fungsi pembina, yang digunakan dengan kata kunci baharu, mencipta objek baharu dan memberikan sifat kepada mereka. Kata kunci ini dalam pembina merujuk kepada objek yang baru dibuat.

Kaedah, boleh diakses melalui kata kunci ini, ialah fungsi yang dipanggil pada objek. Walau bagaimanapun, pembolehubah tempatan yang diisytiharkan dalam skop kaedah tidak boleh diakses secara langsung oleh ini.

Contoh:

function Foo() {
    this.bar = 0;
    this.getBar = function() {
        return this.bar;
    };
}

Dalam contoh ini, this.bar merujuk kepada bar harta contoh Foo. Walau bagaimanapun, bar di dalam kaedah getBar merujuk kepada pembolehubah tempatan yang tidak ditentukan secara lalai. Untuk mengakses harta tersebut, anda perlu menggunakan bar ini.

Atribut Peribadi melalui Penutupan

Untuk mencipta atribut peribadi, JavaScript bergantung pada penutupan. Fungsi yang ditakrifkan dalam skop pembina mempunyai akses kepada pembolehubah tempatan pembina tersebut. Oleh itu, dengan mencipta fungsi dalam pembina dan mendedahkannya sebagai kaedah istimewa, anda boleh mengekalkan atribut peribadi.

Contoh:

function Foo() {
    var bar = "foo";
    this.getBar = function() {
        return bar;
    };
}

Dalam contoh ini, bar ialah pembolehubah tempatan bagi pembina Foo. Kaedah getBar ialah kaedah keistimewaan yang mempunyai akses kepada bar.

Kaedah Prototaip dan Kaedah Keistimewaan

Kaedah yang ditakrifkan pada objek prototaip diwarisi oleh semua kejadian. Walau bagaimanapun, mereka tidak mempunyai akses kepada kaedah istimewa melainkan prototaip anak mewarisi daripada prototaip induk.

Ringkasnya, walaupun this.var diperlukan untuk mengakses sifat objek dari dalam kaedah, ia tidak penting untuk pembolehubah tempatan . Kaedah istimewa, ditakrifkan sebagai penutupan dalam pembina, menyediakan mekanisme untuk mencipta atribut peribadi dalam model pengaturcaraan berorientasikan objek JavaScript.

Atas ialah kandungan terperinci Bilakah Saya Harus Menggunakan `this.var` untuk Mengakses Pembolehubah dalam Objek JavaScript?. 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