1、子类继承父类
2、属性的继承,使用call的形式,改变this指向
对象的继承,使用for in的形式(拷贝继承)
function extend(obj1,obj2) {
for (var attr in obj2) {
obj1[attr] = obj2[attr]
}
}
使用:extend(子类,父类)
//父类 function CreatePerson(name,sex){ this.name = name; this.sex = sex; } CreatePerson.prototype.showName = function(){ alert(this.name); } //子类 function CreateStar(name,sex,job) { CreatePerson.call(this,name,sex); //属性的继承使用call形式 this.job = job; } //使用for in 的形式 extend(CreateStar.prototype,CreatePerson.prototype); CreateStar.prototype.showJob = function(){ alert(this.job); } var p1 = new CreatePerson(‘小明‘,‘男‘); var p2 = new CreateStar(‘黄晓明‘,‘男‘,‘演员‘); p2.showName(); p2.showJob(); function extend(obj1,obj2) { for (attr in obj2) { obj1[attr] = obj2[attr]; } }
原文地址:http://www.cnblogs.com/joya0411/p/3859411.html