在 JavaScript 中,原型(Prototype)和原型链(Prototype Chain)是理解 JavaScript 面向对象编程(OOP)和继承机制的绝对核心。 这两个概念听起来抽象,但如果用大白话来解释,其实就是一个“共享资源库”和“顺藤摸瓜找资源的过程”。 下面为你详细拆解这两个概念: --- 一、 什么是原型(Prototype)? 在 JavaScript 中,几乎所有的对象都有一个与之关联的另一个对象,这个关联的对象就叫做“原型”。对象会从原型继承属性和方法。 我们可以把原型理解为一个“模板”或“共享仓库”。 为了搞懂原型,必须先区分两个极易混淆的属性: 和 。 1. (显式原型) 谁拥有它? 只有函数(Function)才拥有 属性(箭头函数除外)。 它是干嘛的? 当你把一个函数当作构造函数(Constructor)来创建实例时,这个 属性就是即将创建出来的实例的原型。 比喻: 就像是汽车工厂里的设计图纸。 2. (隐式原型 / ) 谁拥有它? 所有对象(包括函数、数组、普通对象等)都拥有 属性(现在官方推荐使用 来获取)。 它是干嘛的? 它指向创建这个对...