正在回答 回答被采纳积分+1
1回答
好帮手慕小李
2025-07-11 23:36:11
同学你好,这个问题问的不错也很关键。
首先理解上是可以这么理解,但是这里一定要注意的是虽然(new People()).__proto__ === People.prototype,那么直接用Student.prototype = People.prototype;也没什么问题,但不建议这么用因为这样会导致:
1、Student.prototype 直接指向 People.prototype,而不是一个 People 实例。
2、所有 Student 实例将共享 People.prototype 上的属性和方法,但不会继承 People 构造函数中定义的实例属性。
3、如果你在 Student.prototype 上添加属性,会污染 People.prototype,影响所有 People 实例(也就是我们常说的会污染父类)
***目前我们在工作中更推荐用Student.prototype = Object.create(People.prototype)这样就不会继承实例属性,只继承原型方法了。
祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星