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 }; };
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 };
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
Bila Menggunakan Setiap Pendekatan
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!