ES6-class

//通过class定义的方法 在对象的原型上

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);

你可能感兴趣的:(ES6-class)