js继承函数封装

Posted 打静爵

tags:

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

function extend(subClass,superClass) {
    //初始化一个中间空对象,为了转换主父类关系
    var F = function() {};
    F.prototype = superClass.prototype;
    //让子类继承F
    subClass.prototype = new F();
    subClass.prototype.constructor = subClass;
    //为子类增加属性superClass
    subClass.superClass = superClass.prototype;
    //增加保险,即使原型是超类Object,那句要把构造函数级别降下来
    if(superClass.prototype.constructor == Object.prototype.constructor) {
        superClass.prototype.constructor = superClass;
    }
}

function Author(name,book) {
    Author.superClass.constructor.call(this,name);
    this.book = book;
    this.getBook = function() {
        return this.name + \'--\' + this.book;
    }
}

function Person(name) {
    this.name = name;
}

extend(Author,Person);
var peter = new Author(\'long\',\'keke\');
console.log(peter.getBook())

 

以上是关于js继承函数封装的主要内容,如果未能解决你的问题,请参考以下文章

回归 | js实用代码片段的封装与总结(持续更新中...)

JS面向对象三大特征:封装、继承、多态

JS封装继承函数

js 封装类实现原型继承

java中封装,继承,多态,接口学习总结

js-6