寒假生活指导 12
JavaScript 原型链:对象继承的核心机制
JavaScript 采用原型继承实现对象间的属性和方法共享,这是其面向对象编程的核心特性。理解原型链需掌握三个关键概念:
- 构造函数与原型对象
 每个构造函数(如 function Person() {})自动拥有 prototype 属性,指向原型对象
 实例对象(如 const p = new Person())通过 proto 访问原型
function Dog(name) {
this.name = name;
}
Dog.prototype.bark = function() {
console.log("汪汪!");
};
const myDog = new Dog("阿黄");
myDog.bark(); // 通过原型链调用方法
- 
原型链结构 
 访问对象属性时,查找顺序:
 实例自身 → 构造函数原型 → 父级原型 → ... → Object.prototype → null
 手动修改原型链的典型方式:
 Child.prototype = Object.create(Parent.prototype);
- 
ES6 类语法糖 
 class 本质仍是基于原型的继承:
 class Animal {
 constructor(name) {
 this.name = name;
 }
 eat() { /* 方法存入原型 */ }
 }
class Cat extends Animal { // 继承语法
meow() { /* ... */ }
}
实际应用场景
方法复用:多个实例共享原型方法,节省内存
扩展内置对象:如给数组添加自定义方法
实现继承:构建多层级的对象关系
注意事项
避免直接修改 Object.prototype(污染全局)
谨慎使用 proto(推荐 Object.getPrototypeOf())
原型链过长会影响性能
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号