js之原型链&继承

Posted jsThin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js之原型链&继承相关的知识,希望对你有一定的参考价值。

首先来总结一下自己对原型链的的理解,直白的说就是

为实例对象查找方法属性提供一个桥梁,在原型链中,__proto__是至关重要的东西,上图:

 

继承,说白了就是继承父亲的属性,方法

继承属性可以使用Father.call(this,name,age,..)来实现

继承方法就不行了,得使用原型对象的查找机制

发不多说,上代码

function Father(uname,uage) {
            this.name = uname
            this.age = uage
        }
        Father.prototype.money = function() {
            console.log(\'1000000\')
        }
        function Son(uname,uage,uscore) {
            Father.call(this,uname,uage) //父构造函数的this指向子构造函数实例对象
            this.score = uscore
        }
        // 将子构造函数的原型指向new Father()实例,可以通过原型链查找到父构造函数的menoy方法
        Son.prototype = new Father()
        // Son.prototype = new Father()  将子类的原型对象修改了,需要将原型对象的constructor指回Son
        Son.prototype.constructor = Son
        let son = new Son(\'jsThin\',25,98)
        son.money()

可以结合下图理解一下

~~

~~

最后,感谢某站的视频,收获良多,希望持续进步,不秃头。。。

以上是关于js之原型链&继承的主要内容,如果未能解决你的问题,请参考以下文章

js继承之组合继承(结合原型链继承 和 借用构造函数继承)

js继承之原型链继承

js继承之原型链继承

JavaScript-原型&原型链&原型继承&组合函数

js继承之借用构造函数继承

JavaScript 原型继承原型链