Rumah >hujung hadapan web >tutorial js >Memahami ciri dan kegunaan prototaip dan rantai prototaip
Terokai ciri dan aplikasi prototaip dan rantai prototaip
1 Apakah prototaip dan rantai prototaip
Dalam JavaScript, setiap objek mempunyai objek prototaip. Objek prototaip juga merupakan objek, dan ia boleh mempunyai sifat dan kaedah. Objek dalam JavaScript adalah berasaskan prototaip, bermakna satu objek boleh mewarisi sifat dan kaedah objek lain.
Objek prototaip objek boleh menunjuk ke objek prototaip objek melalui atribut __proto__
属性来访问。这个__proto__
, yang merupakan rujukan kepada objek prototaip. Melalui rantai prototaip, objek boleh mencari sifat dan kaedah di sepanjang rantai prototaip.
2. Ciri-ciri prototaip
Contoh Kod:
function Person(name, age) { this.name = name; this.age = age; } Person.prototype.greet = function() { console.log('Hello, ' + this.name + '!'); }; var person1 = new Person('Alice', 20); var person2 = new Person('Bob', 25); console.log(person1.__proto__ === person2.__proto__); // true
Contoh kod:
person1.greet(); // Hello, Alice! console.log(person1.hasOwnProperty('name')); // true,对象自身有name属性 console.log(person1.hasOwnProperty('greet')); // false,对象自身没有greet方法 console.log(person1.__proto__.hasOwnProperty('greet')); // true,原型对象有greet方法 person1.name = 'Eve'; console.log(person1.hasOwnProperty('name')); // true,对象自身有name属性,不会修改原型对象的属性
3. Ciri-ciri rantai prototaip
Contoh kod:
function Animal(name) { this.name = name; } function Cat(name, color) { this.name = name; this.color = color; } Cat.prototype = new Animal(); var cat = new Cat('Tom', 'blue'); console.log(cat instanceof Cat); // true console.log(cat instanceof Animal); // true console.log(cat.hasOwnProperty('name')); // true,对象自身有name属性 console.log(cat.hasOwnProperty('color')); // true,对象自身有color属性 console.log(cat.__proto__ === Cat.prototype); // true console.log(Cat.prototype.__proto__ === Animal.prototype); // true console.log(Animal.prototype.__proto__ === Object.prototype); // true,原型链的顶端是Object.prototype
4. Aplikasi prototaip dan rantai prototaip
Contoh kod:
function Animal(name) { this.name = name; } Animal.prototype.eat = function() { console.log(this.name + ' is eating.'); }; function Cat(name, color) { this.name = name; this.color = color; } Cat.prototype = new Animal(); var cat = new Cat('Tom', 'blue'); cat.eat(); // Tom is eating.
Contoh kod:
function Person(name, age) { this.name = name; this.age = age; } Person.prototype.sayHi = function() { console.log('Hi, I am ' + this.name); }; var person1 = new Person('Alice', 20); var person2 = new Person('Bob', 25); person1.sayHi(); // Hi, I am Alice person2.sayHi(); // Hi, I am Bob
Ringkasan:
Prototaip dan rantai prototaip ialah konsep penting dalam JavaScript Ia membentuk mekanisme pewarisan dan perkongsian antara objek. Melalui prototaip dan rantaian prototaip, kami boleh mengatur dan mengurus sifat dan kaedah objek dengan lebih baik, serta meningkatkan kebolehgunaan semula dan kebolehselenggaraan kod. Dalam pembangunan sebenar, pemahaman dan kecekapan yang mendalam dalam menggunakan ciri dan aplikasi prototaip dan rantai prototaip akan membantu meningkatkan kemahiran pengaturcaraan JavaScript.
Atas ialah kandungan terperinci Memahami ciri dan kegunaan prototaip dan rantai prototaip. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!