//通过class定义的方法 在对象的原型上
<script>
class A{
//构造函数
constructor(name,age){
this.name = name;
this.age =age;
}
showName() {
console.log(this.name);
}
}
class B extends A{
constructor(name,age,sex){
super(name,age);
this.sex = sex;
}
showName() {
super.showName();
}
showAge() {
console.log(this.age);
}
}
let P = new B('kobe',18,'boy');
console.log(P);
P.showName();
P.showAge();
</script>
class A{
// 构造函数
constructor(name){
this.name = name;
}
//静态方法 只能类自己调用
static say(msg){
console.log(msg);
}
//普通方法
showName(){
console.log(this.name);
}
}
class B extends A{
constructor(name,sex){
super(name);//这里必须调用父类 构造函数
this.sex = sex ;
}
showInfo(){
let sex = this.sex==0?"女":"男";
console.log("姓名: "+ this.name + " 性别:" + sex);
}
}
A.say('hello world');
let obj = new A('张三');
obj.showName();
let obj2 = new B('李四',1);
obj2.showInfo();
obj2.showName();
setTimeout(function(){
console.log(this);
}.bind(obj),3000);