⽣成器函数 generator
1、声明 function* 函数名(){}
2、yield和return的区别
①yield是暂停执⾏,调⽤next()⽅法继续执⾏
②return结束执⾏
3、next() 可以传参,参数是上⼀个yield的返回值
4、在⽣成器函数⾥⾯调⽤⽣成器函数,需要yield* 去调⽤
class 类
1、class 属性名(⼤驼峰命名法){ constructor(){} ⾃定义函数 静态函数 }
2、继承 extends
①super指代⽗类
Set()
1、参数必须是可遍历对象 不能重复(数组去重)
2、add() 添加成员
3、delete() 删除成员属性 成功 true 失败 false
4、size 成员个数
5、clear() 清除所有成员
6、has() 判断set中是否存在该属性
7、entires() 返回⼀个键值对的遍历器。
8、keys() 返回⼀个键的遍历器。
9、values() 返回⼀个值的遍历器。
10、forEach() 遍历
WeakSet
1、参数是 必须是引⽤类型
2、不可以遍历 size entries keys values forEach没有
Map()
1、参数 数组 [key,value]
2、set() 设置键值对 添加到map⾥⾯
3、get() 通过key获取value
4、delete() 通过key删除键值对
5、clear() 删除所有成员
6、has(key) 判断map中是否存在该属性
7、entires() 返回⼀个键值对的遍历器。
8、keys() 返回⼀个键的遍历器。
9、values() 返回⼀个值的遍历器。
10、forEach() 遍历
11、size 成员个数
WeakMap
1、键值对的属性名 必须是引⽤类型
2、不可以遍历 size entries keys values forEach没有
Promise对象 (重要)
1、解决问题
①回调地狱 回调函数的层层嵌套
2、声明
(一)new Promise((reslove,reject)=>{})
(二)三种状态
①pending 初始化 等待中
②fulfilled 成功
③rejected 失败
初始化===> 成功 初始化===> 失败 (不可逆转)
(三)then 成功之后 reslove()
(四)catch 失败之后 reject()
(五)pro.then(()=>{}).catch(()=>{}) 链式调⽤
(六)下⼀个then⽅法的参数是上⼀个then的返回值
3、promise⾥⾯的then、catch⽅法是异步的
4、promise.all() 参数是数组 数组⾥⾯是promise实例对象,当所有的实例都成功(fulfilled)的时候,才会返回
5、promise.race()参数是数组 数组⾥⾯是promise实例对象,当有⼀个实例⽆论是成功还是失败的时候,就会返回