原型链与继承
2020-05-21 10:44:17 0 举报
JavaScript 原型链与类的继承
作者其他创作
大纲/内容
Cat.prototype
class Animal
class Cat { // 使Cat拥有Animal的私有属性 Animal.call(this)}
class Cat extends Animal
Animal.prototype
Cat.prototype.__proto__ = Animal.prototype 如此设置,可以使Cat的实例拥有Animal.prototype上的属性
a.__proto__
null
let a = new Animal()
let c = new Cat()
Animal.prototype.__proto__
对象的属性在原型链上的是按照__proto__属性依次上行的顺序进行的查找的。为了让Cat的实例c能够使用Animal原型上的方法, 就应使Cat.prototype.__proto__ = Animal.prototype,这样在Cat的实例c中找不到 fn 的时候, 会去Cat.prototype查找, 查找无果,会向Cat.prototype.__proto__去查找,即去Animal.prototype 中查找。此时修改Animal.prototype, Cat。prototype 将完全继承, 而修改 Cat.prototype 不会影响Animal.prototype.span style=\"font-size: inherit;\
a.constructor
Animal.prototypea.prototype.say = fn
0 条评论
下一页