什么是箭頭函數(shù)活孩?
????????箭頭函數(shù)就是沒有function關(guān)鍵字腹尖,而是一個(gè)類似箭頭的函數(shù):
????????相當(dāng)于
它們之間的區(qū)別:
箭頭函數(shù)作為匿名函數(shù),是不能作為構(gòu)造函數(shù)的,不能使用new
箭頭函數(shù)不綁定arguments,取而代之用rest參數(shù)…解決
箭頭函數(shù)會(huì)捕獲其所在上下文的 this 值亡哄,作為自己的 this 值
使用call()和apply()調(diào)用
????????通過(guò)?call()?或?apply()?方法調(diào)用一個(gè)函數(shù)時(shí)官帘,傳參方式不同
箭頭函數(shù)沒有原型屬性
箭頭函數(shù)不能當(dāng)做Generator函數(shù),不能使用yield關(guān)鍵字
箭頭函數(shù)不能換行
對(duì)于函數(shù)的this指向問(wèn)題盼铁,我總結(jié)了以下幾個(gè)方面:
1. 在普通函數(shù)里誰(shuí)調(diào)用就指向誰(shuí)
2. 在事件處理函數(shù)里醋粟,第一層的this指向函數(shù)觸發(fā)事件的那個(gè)對(duì)象
3. 在嚴(yán)格模式下仗阅,普通函數(shù)里的this為underfind
4. 箭頭函數(shù)指向定義時(shí)所在的作用域中的this指向
5.函數(shù)在預(yù)編譯過(guò)程中this指向window
6.在全局作用域里this指向window
7. Call和apply可以改變函數(shù)運(yùn)行時(shí)的this指向
8. 使用new 實(shí)例化對(duì)象昌讲,在構(gòu)造函數(shù)中的this指向?qū)嵗瘜?duì)象。