🎐 [JavaScript高级程序设计] 8. 对象、类与面向对象编程
对象
原型模式
每个函数都会创建一个 prototype 属性,这个属性是一个对象(原型对象),包含应该由特定引用类型的实例共享的属性和方法
javascriptCopy
function Person() {}
Person.prototype.name = "Nicholas";
Person.prototype.age = 29;
Person.prototype.job = "Software Engineer";
Person.prototype.sayName = function() {
console.log(this.name);
};
let person1 = new Person();
person1.sayName(); // "Nicholas"
let person2 = new Person();
person2.sayName(); // "Nicholas" 继承
很多面向对象语言都支持两种继承:接口继承和实现继承。但ECMAScript 中函数没有签名,没法实现接口继承。实现继承是唯一的继承方式,通过原型链实现。
原型链
基本思想通过原型继承多个引用类型的属性和方法。
每个构造函数都有一个原型对象,原型有一个属性指回构造函数,而实例有一个内部指针指向原型。
