在ES6中简化了一下js语法
1.class:简化了所有面向对象的语法
封装:用class{}包裹构造函数和原型对象方法,构造函数名提升为class名,构造函数更名为constructor
所有原型对象的方法,不用写xxx.prototype.前缀,直接写在class中的方法,默认保存在原型对象中。
继承:
class 父类型{….}
calss 子类型 extends 父类型{
constructor(参数,…){
super(参数,..)}//借用父类型构造函数,不用考虑this
}
//不用setPrototypeOf了
静态:
class类型名{
constructor(){}
save(){}
static findById(id){..}
访问器属性:
calss 类型名{
constructor(){}
get age(){}
set age(){}
}
promise:
代替普通回调函数写法,避免回调地狱
回调函数:提前定义,暂不执行,稍后执行
回调地狱:因为回调函数需要按顺序先后执行,形成的嵌套结构
根本原因:回调函数只能以嵌套的方式传递岛主函数中执行
在原函数中,创建并返回一个promise对象
promise对象中包含:
一个函数参数,包裹原来要执行的任务
函数参数包含一个正确开关open,一旦打开开关,则程序员继续向后执行.then
函数参数中包含一个错误开关err,一旦打开err,则程序直接跳到catch执行
调用返回promise的函数,可用.then连接后续异步任务。只要前一个任务打开open,则继续执行任务
错误处理:只要在最后一个.then()后加.catch(function(errmsg){..}),可接住之前任何一个阶段抛出的错误。