JavaScript类对象

// class:关键字,用于定义类.类可以认为是对象的模板,用于快速创建多个对象.
// 类名:每个单词首字母都大写.
// constructor:关键字,构造函数.用于对象初始化,数据属性赋值.
class People {
    constructor(name, age) {
        // this指代当前创建的对象
        this.name = name;
        this.age = age;
    }
    // 不加static修饰的方法称为实例方法
    study() {
        console.log("St");
    }
    // 加static修饰的方法称之为类方法或者静态方法
    static getPopulation(){
        return 100;
    }
}
// 创建对象
// 创建一个People类型的对象,赋值给变量
// 用new构造函数()的方式创建对象.
// new是一个关键字,分配内存.
// 对象都有一个属性prototype(原型),这个属性也是一个对象,该属性中会存储这个类的对象共有的一些内容.
// 与字面量对象相比,把多个对象共有的内容,存在prototype中,不管创建多少个对象,这些内容只会存储一次,节省内存.
console.log(People.getPopulation());
var assassin = new People("assassin", 22);
// console.log(assassin.getPopulation());// 错误,静态方法只能用类名调用,不能用实例化对象调用.
assassin.kill = function () {
    console.log("擅长刺杀.");
}
People.prototype.play = function (game) {
    console.log("玩" + game);
}
console.log(assassin);
assassin.play("刺杀");
var saber = new People("saber", 19);
console.log(saber);
saber.play("咖喱棒");

猜你喜欢

转载自blog.csdn.net/qq_35134066/article/details/82431155