一.es6的箭頭函數
es6箭頭函數內部沒有this,使用時會上朔尋找最近的this
不可以做構造函數,不能使用new命令,因為沒有this
函數體內沒有arguments,可以使用rest參數代替
不能用yield,不能使用generator函數
二.疑問
下面代碼中的箭頭函數arrows的this指向window
let obj = {
aaa: '123',
arrows : () => {
console.log('arrows',this);
},
func : function () {
console.log('func',this);
}
}
obj.arrows(); // window
obj.func(); // obj
結合實例就是這樣
var obj={
-
a :()=>{
-
console.log(this)
-
-
},
-
b: function () {
-
console.log(this)
-
-
}. bind(this)
-
}
-
obj.a()//obj.a
-
obj.b()//obj.b
-
復制代碼
當當當當,這下就很舒服了,對於一個不怎么喜歡看文字的人來說,辛苦地背那些內容,不如用代碼說話簡單,至於為什么不加bind(this)的時候,this會指向obj;