JavaScript通用继承方法和super

来源:互联网 发布:淘宝怎么设置客服号 编辑:程序博客网 时间:2024/06/06 08:56

1、JavaScript通用继承的封装和super的使用

     

/** * JavaScript通用继承的封装 * @param {Object} Child 子对象 * @param {Object} Parent 子对象要继承的父对象 */function createExtend(Child, Parent) {function F() {}F.prototype = Parent.prototype;Child.prototype = new F();Child.prototype.constructor = Child;//添加父类的指针Child.super = Child.base = Parent.prototype;}

2、测试代码

<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title></head><script>/** * JavaScript通用继承的封装 * @param {Object} Child 子对象 * @param {Object} Parent 子对象要继承的父对象 */function createExtend(Child, Parent) {function F() {}F.prototype = Parent.prototype;Child.prototype = new F();Child.prototype.constructor = Child;//添加父类的指针Child.super = Child.base = Parent.prototype;}//父类的定义function Person(name, age) {this.name = name;this.age = age;}Person.prototype.headCount = 1;Person.prototype.eat = function() {console.log("eating ...");}//子类的定义function Programer(name, age, title) {Person.apply(this, arguments);this.title = title;}//继承的实现createExtend(Programer, Person);//在继承之后,再往子类的原型加方法和属性Programer.prototype.language = "JavaScript";Programer.prototype.work = function() {console.log("I am writing code in " + this.language);//继承的方法this.eat();}//测试代码var pro = new Programer("zhang", 18, "haah");pro.work();</script><body></body></html>


1 0
原创粉丝点击