温馨提示×

js中prototype用法有哪些

js
小亿
91
2023-07-27 22:24:12
栏目: 编程语言

在 JavaScript 中,prototype 是一个特殊的属性,用于指向对象的原型。原型是一个对象,其他对象可以通过原型继承它的属性和方法。

以下是在 JavaScript 中使用 prototype 的一些常见用法:

  1. 原型继承(Prototype Inheritance):可以使用 prototype 属性来实现对象之间的继承关系。通过将一个对象的 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
  1. 原型链(Prototype Chain):每个对象都有一个原型,而原型本身也是一个对象,也有自己的原型。通过原型链,可以访问到原型链上所有对象的属性和方法。
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...
  1. 使用原型添加共享的属性和方法:将不变的属性和方法添加到原型上,可以节省内存并且让对象共享这些属性和方法。
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 的一些常见用法,还有其他更多高级的用法,例如使用 Object.create() 创建对象、使用 constructor 属性获取对象的构造函数等等。

0