https://blog.csdn.net/a772116804/article/details/90759179
ES5中,JavaScript是没有继承的写法的,因此,通过使用 prototype
来达到目的
<script type="text/javascript">
// 继承:子类不影响父类,子类可以继承父类的一些功能。(代码复用)
//属性的继承:调用父类的构造函数.call CreatePerson.call(this,name,sex);
//方法的继承:for in 拷贝继承(jq也是)
function CreatePerson(name,sex){//父类
this.name = name;
this.sex = sex;
}
CreatePerson.prototype.showName = function(){
alert(this.name)
}
var p1 = new CreatePerson('小明','男');
p1.showName();
function CreateStart(name,sex,job){
CreatePerson.call(this,name,sex);
this.job = job;
}
//CreateStart.prototype = CreatePerson.prototype;
extend(CreateStart.prototype,CreatePerson.prototype)
var p2 = new CreateStart('黄晓明','男','演员');
p2.showName();
function extend(obj1,obj2){
for(var attr in obj2){
obj1[attr] = obj2[attr];
}
}
</script>