5. 箭頭函數_this 指向_es6 經常使用語法

1. 箭頭函數編程

函數的簡寫方式promise

() => {}dom

只有一個參數時,能夠省略() ---- x => {}異步

只有一條語句時,能夠省略{},此時這點語句的結果會做爲函數的返回值返回  () => console.log('hello');async

特色:異步編程

箭頭函數沒有本身的 this,與離他最近的一層包裹它的函數的 this 一致,若是沒有函數就指向 window函數

箭頭函數沒有 prototype 屬性,有 __proto__ 屬性this

箭頭函數不能 new 調用spa

箭頭函數不能強制修改 this 指向prototype

2. 談談 this

foo()  window

obj.foo()  obj

foo.call(obj)  obj

new foo()  實例對象

箭頭函數的 this 與離他最近的一層包裹它的函數的 this 一致,若是沒有函數就指向 window

DOM事件  dom元素

定時器   window

3. promise

解決異步編程的一個方案/技術

解決異步編程,以同步的方式表達異步的代碼, 從而解決回調地獄的問題

promise 對象有 3 種狀態

初始化狀態(默認狀況下) pending 準備

成功的狀態 (一旦變成成功的狀態就會當即觸發成功的回調)  fullfilled

失敗的狀態 (一旦變成失敗的狀態就會當即觸發失敗的回調)  rejected

使用:

new Promise((resolve, reject) => {異步代碼})

Promise.resolve/reject()

Promise.all([promise1, promise2...])

promsie.then(捕獲成功的狀態,執行成功的回調函數).catch(捕獲失敗的狀態,執行失敗的回調函數)

4. async 函數修飾關鍵字

用來定義函數,真正解決回調地獄的問題,異步編程的最終解決方案

await Promise對象;

只能在 async 函數中使用

後面必須跟着 promise 對象,async 函數返回值也是pormise對象

當 promise 對象狀態是初始化狀態,await 會等待,直到變成成功/失敗纔會接着運行

await等待promise對象變成成功時,會將其返回值返回到左邊去,可被變量接收

5. ES6 其餘經常使用的語法

解構賦值

形參默認值

模板字符串 `${js 代碼將被執行}`

簡化對象的寫法

三點運算符

Symbol 新的數據類型

iterator 新的接口,提供統一的遍歷方法 for of

相關文章
相關標籤/搜索