1、ES6创建构造函数
里面都是方法,没有属性
class Dog {
constructor(){} //代表ES5中的构造函数 ,实例化对象时,自动调用
sing(){} //函数中方法可互相调用
run(){} //内部原理:依旧设置在Dog的原型对象上
}
2、ES6继承
如果子类中和父类中都有某个方法(比如:constructor),则优先使用子类中的方法
如果子类中没有此方法,则通过原型链方式向父级继续查找
语法:
1、定义类(里面都是方法)
2、var 对象 = new 类名()
<script>
class Dog1 {
constructor(color){ //实例化new Dog1时,自动调用该方法
this.color = color; //constructor中专门设置属性
}
run(){
console.log('快跑');
}
}
//Dog2继承Dog1:extends 表示继承父类
class Dog2 extends Dog1 {
constructor(a){ //子类中也有constructor(语法要求:必须调用父类的constructor,否则报错)
super(a); //super代表父类中constructor方法
}
}
var little = new Dog2('black');
</script>