JavaScript ialah bahasa pengaturcaraan berasaskan prototaip. Dalam JavaScript, setiap objek mempunyai objek prototaip Kita boleh mengakses dan mewarisi sifat dan kaedah pada objek induk melalui mekanisme rantai prototaip JavaScript, dengan itu mencapai penggunaan semula dan pengoptimuman kod.
Berikut ialah artikel tentang menyediakan rantaian prototaip dalam JavaScript Ia terutamanya memperkenalkan apa itu rantaian prototaip JavaScript, cara mencipta objek prototaip dan cara mencipta objek contoh.
1. Rantaian prototaip JavaScript
Rantai prototaip JavaScript bermakna setiap objek mempunyai objek prototaip (prototaip), yang mengandungi sifat dan kaedah. Apabila mengakses sifat dan kaedah objek, JavaScript terlebih dahulu akan menyemak sama ada sifat atau kaedah itu wujud dalam objek itu sendiri Jika ia tidak wujud, ia akan mencari rantai prototaip objek sehingga ia menemui sifat atau kaedah. Jika sifat atau kaedah tidak ditemui dalam keseluruhan rantaian prototaip, undefined dikembalikan.
Kami boleh menggunakan mekanisme rantai prototaip JavaScript untuk berkongsi sifat dan kaedah objek, dengan itu mencapai penggunaan semula dan pengoptimuman kod. Biasanya, apabila melaksanakan fungsi pewarisan, kami akan menggunakan mekanisme rantai prototaip untuk mewarisi sifat dan kaedah pada objek induk, untuk mencapai kesan penggunaan semula kod.
2. Cipta objek prototaip
Dalam JavaScript, kita boleh mencipta objek prototaip melalui pembina atau literal objek. Objek prototaip pembina boleh diakses dan ditetapkan melalui atribut prototaip. Objek prototaip bagi literal objek boleh diakses dan ditetapkan melalui atribut __proto__.
1. Gunakan pembina untuk mencipta objek prototaip
Kod sampel adalah seperti berikut:
function Person(name, age) { this.name = name; this.age = age; } Person.prototype.sayHello = function() { console.log('Hello, ' + this.name); };
Dalam contoh di atas, kami mentakrifkan pembina Orang menggunakan atribut prototaip Menambah kaedah sayHello pada objek prototaipnya.
Objek prototaip yang dibuat menggunakan pembina akan dikongsi oleh objek contoh Oleh itu, kita boleh mengakses dan memanggil sifat dan kaedah pada objek prototaip dengan mencipta objek contoh.
Kod sampel adalah seperti berikut:
var person = new Person('Jack', 20); person.sayHello(); // 输出:Hello, Jack
Dalam kod sampel di atas, kita mula-mula mencipta contoh objek orang melalui pembina Orang, dan kemudian mengeluarkan ucapan dengan memanggil kaedah sayHello .
2. Gunakan literal objek untuk mencipta objek prototaip
Kod sampel adalah seperti berikut:
var person = { name: '', age: '', sayHello: function() { console.log('Hello, ' + this.name); } };
Dalam kod sampel di atas, kami menggunakan literal objek untuk mencipta A objek orang, yang mengandungi nama, umur dan atribut dan kaedah sayHello. Di samping itu, dalam literal objek, kita boleh menggunakan atribut __proto__ untuk mengakses dan menetapkan objek prototaipnya.
Kod sampel adalah seperti berikut:
var person1 = { name: 'Jack', age: 20, }; var person2 = { name: 'Lucy', age: 18, }; person1.__proto__ = person; person2.__proto__ = person; person1.sayHello(); // 输出:Hello, Jack person2.sayHello(); // 输出:Hello, Lucy
Dalam kod sampel di atas, kita mula-mula mencipta dua objek contoh person1 dan person2, dan kemudian halakan objek prototaip mereka melalui atribut __proto__ The objek orang yang ditakrifkan di atas menyedari perkongsian kaedah sayHello, dan kaedah itu boleh diakses terus dan dipanggil dalam objek contoh.
3. Cipta objek contoh
Dalam JavaScript, kita boleh mencipta objek contoh melalui pembina atau literal objek. Apabila pembina mencipta objek contoh, menggunakan kata kunci baharu boleh secara automatik memanggil pembina dan mengembalikan objek contoh baharu. Literal objek mencipta objek contoh secara langsung.
1. Gunakan pembina untuk mencipta objek contoh
Kod sampel adalah seperti berikut:
function Person(name, age) { this.name = name; this.age = age; } Person.prototype.sayHello = function() { console.log('Hello, ' + this.name); }; var person = new Person('Jack', 20); person.sayHello(); // 输出:Hello, Jack
Dalam kod sampel di atas, kami mula-mula mentakrifkan pembina Orang , dan Menambah kaedah sayHello pada objek prototaipnya. Kemudian, kami memanggil pembina Orang menggunakan kata kunci baharu, mencipta contoh objek orang, dan mengeluarkan ucapan dengan memanggil kaedah sayHello.
2. Gunakan literal objek untuk mencipta objek contoh
Kod sampel adalah seperti berikut:
var person = { name: '', age: '', sayHello: function() { console.log('Hello, ' + this.name); } }; var person1 = Object.create(person); person1.name = 'Jack'; person1.age = 20; person1.sayHello(); // 输出:Hello, Jack var person2 = Object.create(person); person2.name = 'Lucy'; person2.age = 18; person2.sayHello(); // 输出:Hello, Lucy
Dalam kod contoh di atas, kami mula-mula mencipta objek contoh menggunakan objek literal objek orang, dan kemudian gunakan kaedah Object.create untuk mencipta dua objek contoh, orang1 dan orang2, dan tentukan objek prototaip mereka sebagai objek orang. Akhir sekali, kami menetapkan nama dan atribut umur untuk objek person1 dan person2 masing-masing, dan mengeluarkan ucapan dengan memanggil kaedah sayHello.
Atas ialah kandungan terperinci Bagaimana untuk menyediakan rantaian prototaip dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!