<script>
/*
1、创建一个空对象
2、把构造函数的prototype指向这个对象的__proto__
3、把构造函数的执行上下文(this) 只想这个对象
4、执行构造函数的函数
5、返回这个对象
*/
function SuperType(name) {
this.name = name
}
SuperType.prototype.getName = function () {
console.log('我的名字是:' + this.name);
}
function SubType(name, age) {
SuperType.call(this, name)
this.age = age
this.say = function () {
console.log('我今年已经:' + this.age + '岁了');
}
this.changeName = function (name) {
this.name = name
}
}
function inheritPrototype(subType, superType) {
function F() {
this.constructor = subType
}
F.prototype = superType.prototype
subType.prototype = new F()
}
inheritPrototype(SubType, SuperType)
let sal1 = new SubType('张三', 22)
console.log(sal1);
sal1.getName() //我的名字是:张三
sal1.say() //我今年已经:22岁了
sal1.changeName('李四')
sal1.getName() // 我的名字是:李四
sal1.say() //我今年已经:22岁了
</script>
11-28
1274
12-25
1001
12-04
1万+
12-14
4098