码迷,mamicode.com
首页 > Web开发 > 详细

js继承函数封装

时间:2017-10-17 10:05:54      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:分享   技术分享   ima   es2017   person   console   obj   auth   ons   

技术分享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继承函数封装

标签:分享   技术分享   ima   es2017   person   console   obj   auth   ons   

原文地址:http://www.cnblogs.com/pjl43/p/7679773.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!