JavaScript中的类

原生JS(ES5)中的类

//原生JS中的类

//构造函数里面的方法和属性
function Person(name,age){
    this.name=name;
    this.age=age;
    this.run=function(){
        console.log(`${this.name} is ${this.age}岁`)
    }
}

//原型链上面的属性和方法可以被多个实例共享,构造函数中的方法和属性不被多个实例共享
Person.prototype.sex='男'
Person.prototype.work=function(){
    console.log(`${this.name} is ${this.sex} and ${this.age}岁`)
}

var p = new Person('jack',20) //实例方法是通过实例化来调用的,实例方法:即构造函数里面和原型链上绑定的方法
p.run()
p.work()

/**
 * jack is 20岁
   jack is 男 and 20岁
 */

 

ES6 中的类

//es6里面的类
class Person{
   constructor(name,age) {   //类的构造函数,实例化的时候执行,new的时候执行
       this._name=name;
       this._age=age;
   }
   getName(){
       console.log(this._name);
   }
   setName(name){
       this._name=name
   }
}
var p=new Person('jack','20');
p.getName();
p.setName('Tom');
p.getName();

/**
 * jack
   Tom
 */

  

posted @ 2021-01-30 18:50  shanlu  阅读(56)  评论(0编辑  收藏  举报