js寄生组合式继承

function extend(sub,sup){
	var F=function(){};
	F.prototype=sup.prototype;
	var prototype=new F();
	//var prototype=Object(sup.prototype);/*上面三句可以用这一句代替,但任意子类对象在原型上的改动都会影响其它子类对象,不合适*/

	prototype.constructor=sub;
	sub.prototype=prototype;
}
/*父类*/
function Sup(){}
/*子类*/
function Sub(name,age){
	sup.call(this,name);
	this.age=age;
}
extend(Sub,Sup);


你可能感兴趣的:(js继承)