memperkenalkan
Prototipe mengacu pada jenis objek yang dibuat dengan instance prototipe dan membuat objek baru dengan menyalin prototipe ini.
teks
Untuk mode prototipe, kita dapat menggunakan fitur warisan prototipe unik JavaScript untuk membuat objek, yaitu, satu objek dibuat sebagai nilai atribut prototipe dari objek lain. Objek prototipe itu sendiri secara efektif menggunakan objek yang dibuat oleh masing -masing konstruktor. Misalnya, jika prototipe konstruktor berisi atribut nama (lihat contoh di bawah), objek yang dibuat melalui konstruktor ini akan memiliki atribut ini.
Melihat definisi pola prototipe dalam literatur yang ada, tidak ada javascript. Anda mungkin menemukan bahwa banyak penjelasan tentang kelas, tetapi kenyataannya adalah bahwa JavaScript berdasarkan prototipe warisan sepenuhnya menghindari konsep kelas. Kami cukup menyalin objek yang ada untuk membuat objek.
Warisan prototipe nyata diusulkan sebagai versi terbaru dari standar ECMascript5. Metode Object.Create digunakan untuk membuat objek seperti itu. Metode ini membuat objek yang ditentukan. Prototipe objeknya memiliki objek yang ditentukan (yaitu, objek parameter pertama yang diteruskan dengan metode), dan juga dapat berisi atribut opsional yang ditentukan lainnya. Misalnya, Object.Create (prototipe, OpsionalDescriptorObjects), Anda juga dapat melihat penggunaan ini dalam contoh berikut:
Salinan kode adalah sebagai berikut:
// Karena itu bukan konstruktor, tidak perlu dikapitalisasi
var somecar = {
drive: function () {},
Nama: 'Mazda 3'
};
// Buat mobil baru dengan objek.create x
var OtherCar = Object.Create (somecar);
OtherCar.name = 'Toyota Kami';
Object.create menjalankan Anda mewarisi langsung dari objek lain. Menggunakan parameter kedua dari metode ini, Anda dapat menginisialisasi properti tambahan. Misalnya:
Salinan kode adalah sebagai berikut:
var kendaraan = {
getModel: function () {
console.log ('cetakan kendaraan adalah:' + this.model);
}
};
var car = object.create (kendaraan, {
'pengenal': {
Nilai: my_global.nextid (),
enumerable: true // default writable: false, configable: false
},
'Model': {
Nilai: 'Ford',
Hancur: Benar
}
});
Di sini, Anda dapat menggunakan objek secara literal untuk lulus dalam parameter kedua objek. Membuat untuk menggunakan objek literal untuk memasukkan properti tambahan yang akan diinisialisasi, dan sintaksnya sama dengan objek. Ini memungkinkan Anda untuk mengatur properti properti seperti enumerable, writable, atau dapat dikonfigurasi.
Jika Anda ingin mengimplementasikan mode prototipe sendiri, alih -alih menggunakan Object.Create secara langsung. Anda dapat menggunakan kode seperti berikut untuk mengimplementasikan contoh di atas:
Salinan kode adalah sebagai berikut:
var vehiclePrototype = {
init: function (carmodel) {
this.model = carmodel;
},
getModel: function () {
console.log ('cetakan kendaraan adalah:' + this.model);
}
};
function kendaraan (model) {
fungsi f () {};
F.prototype = VehiclePrototype;
var f = f () baru;
f.init (model);
kembali f;
}
var car = kendaraan ('Ford Escort');
car.getModel ();
Meringkaskan
Penggunaan mode prototipe dalam JavaScript hanya ada di mana -mana. Banyak mode lain juga didasarkan pada prototipe, jadi saya tidak akan banyak bicara. Yang harus Anda perhatikan di sini adalah masalah salinan dangkal dan salinan dalam untuk menghindari masalah kutipan.