## 實戰
> 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
- 課程規劃
- 課程概述
- 特性介紹
- 組件介紹-基礎組件
- 組件介紹-表單組件
- 組件介紹-數據展示組件
- 組件介紹-提示組件
- 組件介紹-導航組件
- 組件介紹-其他組件
- 綜合案例