2022-04-18 06:18:11
在 JavaScript 中,prototype 是一个核心机制,用于实现对象间的属性和方法共享。以下是其核心作用及详细说明:
1. 继承Dog 继承了 Animal.prototype 的 speak 方法。
即使 alice 在 greet 方法添加前已创建,仍能访问该方法。
非共享方式(每个实例独立方法):function Car() { this.start = function() { console.log("Engine started."); }; // 每个实例独有}const car1 = new Car();const car2 = new Car();console.log(car1.start === car2.start); // false(不同内存地址)
共享方式(通过 prototype):function Car() {}Car.prototype.start = function() { console.log("Engine started."); };const car1 = new Car();const car2 = new Car();console.log(car1.start === car2.start); // true(同一内存地址)
area 方法只需定义一次,所有 Circle 实例共享。
prototype 是 JavaScript 实现继承、共享属性和优化内存的关键机制。通过合理使用,可以显著提升代码复用性和性能,但需注意避免过度动态修改原型。现代开发中,class 语法简化了原型操作,但理解 prototype 仍是深入掌握 JavaScript 的基础。