Rumah > hujung hadapan web > tutorial js > Prototaip JavaScript lwn. `ini`: Bila Untuk Menggunakan Yang Mana?

Prototaip JavaScript lwn. `ini`: Bila Untuk Menggunakan Yang Mana?

Susan Sarandon
Lepaskan: 2024-12-21 17:12:14
asal
222 orang telah melayarinya

JavaScript Prototypes vs. `this`: When to Use Which?

Prototaip lwn. 'ini' dalam JavaScript

Dalam JavaScript, kelas ditakrifkan melalui fungsi yang berfungsi sebagai pembina. Walau bagaimanapun, terdapat perbezaan dalam cara sifat dan kaedah ditakrifkan dalam fungsi ini.

Menggunakan 'ini'

Apabila kaedah ditakrifkan secara langsung dalam fungsi pembina, sebagai dalam contoh berikut:

var A = function () {
    this.x = function () {
        // do something
    };
};
Salin selepas log masuk

ini merujuk kepada tika kelas yang baru dibuat. Dalam kes ini, A() mencipta kejadian dan menetapkan sifat xnya kepada fungsi yang ditentukan.

Menggunakan prototaip

Sebaliknya, apabila kaedah ditakrifkan pada sifat prototaip fungsi pembina:

var A = function () { };
A.prototype.x = function () {
    // do something
};
Salin selepas log masuk

prototaip membenarkan berbilang kejadian kelas yang sama untuk berkongsi kaedah dan sifat. Menetapkan fungsi kepada sifat prototaip bermakna semua tika kelas akan mewarisi kaedah tersebut.

Perbezaan Utama

  1. Instance-Specific lwn. Kelas-Wide: Sifat dan kaedah yang ditakrifkan menggunakan ini adalah khusus untuk setiap tika kelas, manakala yang ditakrifkan pada prototaip dikongsi antara semua kejadian.
  2. Pensiran: Kaedah yang ditakrifkan pada prototaip tidak bersiri apabila objek ditukar kepada JSON, manakala yang ditakrifkan menggunakan ini disertakan.
  3. Kecekapan Memori: Menggunakan prototaip untuk berkongsi kaedah boleh menjadi lebih cekap dari segi penggunaan memori berbanding dengan menetapkan setiap contoh salinannya sendiri.

Bila Menggunakan Setiap Pendekatan

  • Gunakan ini apabila anda memerlukan kaedah atau sifat yang unik untuk setiap tika.
  • Gunakan prototaip apabila anda ingin berkongsi kaedah dan sifat antara berbilang contoh kelas, kurangkan penggunaan memori dan elakkan bersiri maklumat yang tidak penting.

Atas ialah kandungan terperinci Prototaip JavaScript lwn. `ini`: Bila Untuk Menggunakan Yang Mana?. 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