Kelebihan Pendekatan Prototaip vs Pembina
Apabila mentakrifkan kaedah untuk kelas, terdapat dua pendekatan biasa: menggunakan Pembina atau Prototaip. Kedua-duanya mempunyai kelebihan dan kekurangan masing-masing.
Pendekatan Pembina
Pendekatan Pembina mentakrifkan kaedah secara langsung dalam fungsi pembina kelas:
var Class = function () { this.calc = function (a, b) { return a + b; }; };
Pendekatan Prototaip
Pendekatan Prototaip mentakrifkan kaedah sebagai sifat prototaip kelas:
var Class = function () {}; Class.prototype.calc = function (a, b) { return a + b; };
Kelebihan Pendekatan Prototaip
Kelemahan Pendekatan Prototaip
Fungsi Literal vs Definisi Fungsi
Pilihan antara literal fungsi dan takrifan fungsi ialah perkara keutamaan. Literal fungsi mengangkat pengisytiharan fungsi ke bahagian atas skop:
var Class = function () {};
Takrifan fungsi mengangkat pengisytiharan pembolehubah, tetapi bukan tugasan:
function Class () {};
Perbezaan utama timbul apabila fungsi dipanggil sebelum ia ditetapkan. Menggunakan fungsi literal, fungsi itu tersedia sebelum tugasan, manakala menggunakan definisi fungsi, ia tidak.
Atas ialah kandungan terperinci Prototaip lwn. Pembina: Kaedah Mana Yang Berkuasa untuk Menentukan Kaedah Kelas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!