寒假生活指导 12

JavaScript 原型链:对象继承的核心机制
JavaScript 采用原型继承实现对象间的属性和方法共享,这是其面向对象编程的核心特性。理解原型链需掌握三个关键概念:

  1. 构造函数与原型对象
    每个构造函数(如 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(); // 通过原型链调用方法

  1. 原型链结构
    访问对象属性时,查找顺序:
    实例自身 → 构造函数原型 → 父级原型 → ... → Object.prototype → null
    手动修改原型链的典型方式:
    Child.prototype = Object.create(Parent.prototype);

  2. ES6 类语法糖
    class 本质仍是基于原型的继承:
    class Animal {
    constructor(name) {
    this.name = name;
    }
    eat() { /* 方法存入原型 */ }
    }

class Cat extends Animal { // 继承语法
meow() { /* ... */ }
}

实际应用场景
方法复用:多个实例共享原型方法,节省内存
扩展内置对象:如给数组添加自定义方法
实现继承:构建多层级的对象关系

注意事项
避免直接修改 Object.prototype(污染全局)
谨慎使用 proto(推荐 Object.getPrototypeOf())
原型链过长会影响性能

posted @ 2025-02-12 20:37  一如初见233  阅读(11)  评论(0)    收藏  举报