js中prototype用法有哪些

寻技术 JS脚本 4小时前 4

在 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 属性获取对象的构造函数等等。

关闭

用微信“扫一扫”