更新时间:2021-12-15 来源:黑马程序员 浏览量:
//定义类 class Person { constructor(name) { //构造方法 this.name = name; //为新创建的对象添加name属性 } } //利用类创建对象 var pl = new Person('张三'); //创建p1对象 var p2 = new Person('李四'); //创建p2对象 console.log(pl.name); //访问pl对象的name属性 console.log(p2.name); //访问 p2对象的 name属性
在上述代码中,constructor()构造方法在使用类创建对象时会自动调用,在调用时会将实例化的参数传过来。在命名习惯上,类名使用首字母大写的形式。如果一个类中没有编写Constructor()构造方法,程序会在类中自动创建一个constructor()构造方法。
主类中可以编写所有对象共有的方法,示例代码如下。
class Person { //构造方法 constructor(name) { this.name = name; } say() { //在类中定义一个say()方法 console.log('你好,我叫' + this.name); } } var pl = new Person('张三'); Pl.say(); //输出结果:你好,我叫张三
在上述代码中,say()方法就是在类中定义的方法。在定义方法时,不需要使用function关键字,并且多个方法之间不需要使用逗号分隔。在say()方法中,this表示实例对象,如果是调用了pl对象的say()方法,则this就表示pl, this.name表示pl.name。