## 实战
> ES6常见高频面试题
### 1.实现两个变量的值的交换
~~~
let a = 1;
let b = 2;
[a,b] = [b,a];
~~~
### 2.js数据类型
~~~
Undefined、Null、Boolean、Number、String、Array、Object、Symbol
~~~
### 3.用两种方法实现数组去重函数
> function distinct(){}
入参[11,1,2,2,3] 出参为 [11,1,2,3]
### 4.实现一个函数
> Promise.sequence(a,b,c).then((result) => {})
要求sequence里的a执行完异步后执行b,b异步执行完后执行c。result为a,b,c三个异步返回的结果的数组
~~~
Promise.sequence = function (...promiseList) {
let p = Promise.resolve()
let result = []
promiseList.forEach((item) => {
p = p.then(() => {
return item().then((x) => {
if(x) {
result.push(x)
return result
}
})
})
})
return p
}
// 异步函数a
var a = function () {
return new Promise((resolve, reject) =>{
setTimeout(() => {
console.log('a')
resolve('a')
}, 1000)
})
}
// 异步函数b
var b = function () {
return new Promise((resolve, reject) => {
console.log('b')
resolve('b')
})
}
// 异步函数c
var c = function () {
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log('c')
resolve('c')
}, 500)
})
}
Promise.sequence(a, b, c).then((s) => {
console.log(s)
}, (err) => {
console.log(err)
})
~~~
- Less
- 课程规划
- Less概述
- 变量
- 混合
- 嵌套
- 继承
- 导入
- 函数
- 其他
- 实战
- ES6
- 课程规划
- ES6概述
- let和const命令
- 变量的解构赋值
- 字符串扩展
- 函数扩展
- 数组扩展
- Set和Map数据结构
- Symbol
- Generator 函数
- Promise对象
- Class语法
- Module 的语法
- ES7和ES8
- 实战
- VUE
- 课程规划
- vue概述
- vue实例
- 模版语法
- 计算属性和侦听器
- Class和Style的绑定
- 条件渲染
- 列表渲染
- 事件处理
- 表单输入绑定
- 组件基础
- 过渡和动画
- 自定义指令
- 过滤器
- 响应式原理
- 实战课程
- Node
- 课程规划
- 课程概述
- node入门实例
- 模块系统
- 回调函数
- 全局对象
- 常用模块介绍
- 常用模块介绍-1
- 常用模块介绍-2
- 常用模块介绍-3
- npm使用
- express的使用
- express的使用-1
- webpack基础
- 实战
- 微信小程序
- 课程规划
- 课程概述
- 基本配置和生命周期
- wxml模版
- wxss
- wxs
- 组件
- 微信API
- 自定义组件开发
- 实战小程序
- Element
- 课程规划
- 课程概述
- 特性介绍
- 组件介绍-基础组件
- 组件介绍-表单组件
- 组件介绍-数据展示组件
- 组件介绍-提示组件
- 组件介绍-导航组件
- 组件介绍-其他组件
- 综合案例