JS面向对象的拷贝继承

本文最后更新于:2023年3月30日 下午

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
function Person(name, sex) {
this.name = name;
this.sex = sex;
}
Person.prototype.showName = function() {
alert(this.name);
}
Person.prototype.showSex = function() {
alert(this.sex);
}
var p1 = new Person('char', '男');
p1.showName();
function Worker(name, sex, job){
// 调用父级的构造函数
Person.call(this, name, sex);
this.job = job;
}
// 通过原型继承父级的函数
// Worker.prototype = Person.prototype;
// 实则上上面这样的继承是不对的,子类改变了父类也会受到影响;应该将父类的复制给子类
for (var i in Person.prototype) {
Worker.prototype[i] = Person.prototype[i];
}
Worker.prototype.showJob = function(){
alert(this.job);
}
var w1 = new Worker('max', '男', '打杂的');
w1.showJob();

JS面向对象的拷贝继承
https://seven3.site/js/JS面向对象的拷贝继承/
作者
Seven3s
发布于
2015年1月29日
许可协议