一、class
类: 类是一批具备相同或属性和行为的事物的抽象。类的主要作用是描述属性和行为。 属性 方法
对象:对象是类的实例化。对象具备类所描述的属性和行为。
面向过程:将一个大的功能,拆分若干步骤,一步一步的去完成
面向对象:以对象为基点,通过对象来进行编程
1)在class中,属性需要在constructor中声明
2)每一个类都必须有一个constructor函数,若没有显示的声明,则当类被实例化的时候,系统会自动生成一个无参的constructor;constructor函数不能被显示调用,构造器会在类被实例化的时候,自动调用
3)class的实例化对象也有原型,在类中声明的方法,会绑定到原型上(在类中添加方法,其实就是在原型上添加方法)
4)
成员属性 实例化对象的属性
成员方法 实例化对象的方法
static静态属性 类的属性
static静态方法 类的方法
5)继承
ES5: 原型链继承 对象冒充继承 混合继承 寄生式继承 …
ES6 : extends
super的两个用法:
1)、super方法:只能出现在有继承的子类constructor方法的第一行,否则报错
2)、super对象:一般使用super对象的场景是,子类中出现了覆盖父类同名方法或属性的做法;子类的对象就无法再使用父类的同名方法和属性,但是可以通过super对象来使用。
继承是单向,只能单继承
严格模式
strict model 为了消除javascript的一些不合理情况
“ues strict”下面代码进入严格模式
在严格模式下 不允许this指向顶级对象window