使用 class,避免直接操作 prototype
// 面向对象
class User{
constructor(name, sex){ // 构造器
this.name = name;
this.sex = sex;
}
showName (){ // 方法
alert(this.name);
}
showSex (){
alert(this.sex);
}
}
let user1 = new User('张三','男');
user1.showName();
user1.showSex();
用 extends 继承,extends 是一个内建的原型继承方法并且不会破坏 instanceof
方法可以返回 this 来帮助链式调用
// 继承
class VipUser extends User{
constructor(name, sex, love){ // 构造器
super(name, sex); // super 超类(父类)等同于call
this.love = love;
}
showLove (){
alert(this.love);
}
}
let user2 = new User('张三','男','唱歌');
user2 .showName();
user2 .showSex();
user2 .showLove();