ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 原型链 - 继承的主要方式 ### 一句话概括什么是原型链: 每个对象都有一个内部的属性 __proto__ 指向他的原型,他的原型也有自己的原型,直到 Object对象的原型是 null 为止,这样的链式结构就是原型链。 ### 原型链的问题 ##### 1. 原型中包含引用值时,子类会共享这个引用的数据 ``` function superType() { this.color = ['red', 'yellow', 'green'] } function subType () {} subType.prototype = new superType() let instance1 = new subType() instance1.color.push('pink') console.log(instance1.color) // ['red', 'yellow', 'green', 'pink'] let instance2 = new subType() console.log(instance2.color) // ['red', 'yellow', 'green', 'pink'] ``` ##### 2. 子类在不影响其他对象的情况下,无法在 new 实例化时传递参数给父类