在 JavaScript 中,prototype 是一個(gè)特殊的屬性,用于指向?qū)ο蟮脑?。原型是一個(gè)對(duì)象,其他對(duì)象可以通過原型繼承它的屬性和方法。
以下是在 JavaScript 中使用 prototype 的一些常見用法:
function Person(name) {
this.name = name;
}
Person.prototype.sayHello = function() {
console.log('Hello, my name is ' + this.name);
};
var john = new Person('John');
john.sayHello(); // 輸出:Hello, my name is John
function Animal() {}
Animal.prototype.eat = function() {
console.log('Eating...');
};
function Dog() {}
Dog.prototype = Object.create(Animal.prototype); // 繼承 Animal 的原型
Dog.prototype.bark = function() {
console.log('Barking...');
};
var dog = new Dog();
dog.eat(); // 輸出:Eating...
dog.bark(); // 輸出:Barking...
function Calculator() {}
Calculator.prototype.add = function(a, b) {
return a + b;
};
Calculator.prototype.subtract = function(a, b) {
return a - b;
};
var calculator1 = new Calculator();
console.log(calculator1.add(1, 2)); // 輸出:3
var calculator2 = new Calculator();
console.log(calculator2.subtract(5, 3)); // 輸出:2
這些只是使用 prototype 的一些常見用法,還有其他更多高級(jí)的用法,例如使用 Object.create() 創(chuàng)建對(duì)象、使用 constructor 屬性獲取對(duì)象的構(gòu)造函數(shù)等等。