JavaScript 类继承函数 - musishui/WebStudy GitHub Wiki
function extend(Sub, Sup){
// 定义一个空函数
var F = function(){};
// 设置空函数的原型为超类的原型
F.prototype = Sup.prototype;
// 实例化空函数,并把超类原型引用传递给子类
Sub.prototype = new F();
// 恢复子类原型的构造函数为子类自身
Sub.prototype.constructor = Sub;
// 在子类中存储超类原型,避免子类和超类耦合
Sub.sup = Sup.prototype;
// 检查超类原型构造函数是否为自身
if(Sup.prototype.constructor == Object.prototype.constructor){
// 类继承封装函数
Sup.prototype.constructor = Sup;
}
};