对象
ES5时代,定义一个对象,通常是 key : value 形式,如下
var person={
name:"Tony",
age:18,
showName:function(){
alert(this.name);
},
showAge:function(){
alert(this.age);
}
}
person.showName();
ES6中,改变如下
var name="Tony";
var age=18;
var person={
name,
age,
showName(){
return(this.name);
},
showAge(){
return(this.age);
}
};
alert(person.showName());
面向对象
ES5面向对象,但不是真正的面向对象,它没有类,也没有构造函数。
function Person(name,age){ //类、构造函数
this.name=name;
this.age=age;
}
Person.prototype.showName=function(){
return this.name;
}
Person.prototype.showAge=function(){
return this.age;
}
var student = new Person("Tony",12);
var worker = new Person("Tom",22);
alert(student.showName());
ES6为了弥补这样的缺憾,新增类class,构造函数constructor,所谓构造函数就是生成完实例后,自己就执行。
class Person{ //类
constructor(name,age){
this.name=name; //属性
this.age=age;
}
showName(){
return(this.name);
}
showAge(){
return(this.age);
}
}
var worker = new Person("Tom",28);
alert(worker.name);