class是ES6新增的类关键字;
基本上ES6的class可以看到是一个语法糖。本质上就是一个构造函数
1.通过class关键字创建类,类名一般首字母都是大写;
2.类里面有个constructor函数,可以接受传递过来的参数,同时返回实例对象,不需要return返回;
3.constructor函数,只要new生成实例时,就会自动调用这个函数,如果我们不写这个函数,类就也会自生成这个函数;
4.生成实例new不能省略;
5.最后注意语法的规范,创建类 类名后面不要加小括号,生成实例 类名后面加小括号,构造函数不需要加function
<script>
//创建类 people后面不需要加小括号
//我们类里面所有的函数不需要写ffunction
class Star {
//constructor构造函数不需要加function声明;
constructor(uname, age) {
this.uname = uname;
this.age = age;
}
//这里是共有的方法
//在这里定义的方法其实是在原型对象上;
//不需要添加function
eat() {
console.log('吃饭把');
}
//也可以传递参数;
sing(song) {
console.log(this.uname + song);
}
}
//生成实例化对象后面需要加小括号,传参;
//一定要有new关键字;生成实例对象
var ldh = new Star("刘德华", 20);
var zxy = new Star("张学友", 20);
console.log(ldh);
console.log(zxy);
ldh.eat();//吃饭把
zxy.eat();//吃饭把
//调用,传入实参;
ldh.sing("冰雨")//结果为刘德华冰雨
zxy.sing("吻别")//结果为张学友吻别
</script>