有了class关键字、构造器和类分开了
class里面直接加方法
继承: super 超类 == 父类
老版本
function User(name, pass) {
this.name = name
this.pass = pass
}
User.prototype.showName = function () {
console.log(this.name)
}
User.prototype.showPass = function () {
console.log(this.pass)
}
var u1 = new User('able', '1233')
u1.showName()
u1.showPass()
function VipUser(name, pass, level) {
User.call(this, name, pass)
this.level = level
}
VipUser.prototype = new User()
VipUser.prototype.constructor = VipUser
VipUser.prototype.showLevel = function () {
console.log(this.level)
}
var v1 = new VipUser('blue', '1234', 3)
v1.showName()
v1.showLevel()
新版本
class User1 {
constructor(name, pass) {
this.name = name
this.pass = pass
}
showName() {
console.log(this.name)
}
showPass() {
console.log(this.pass)
}
}
var u1 = new User1('able2', '111')
u1.showName()
u1.showPass()
class VipUser1 extends User1 {
constructor(name, pass, level) {
super(name, pass)
this.level = level
}
showLevel() {
console.log(this.level)
}
}
v1 = new VipUser1('blue', '123', 3)
v1.showName()
v1.showPass()
v1.showLevel()