教辨別this指向問題 包括箭頭函式
在function函式中
function a(){
console.log(this)
}
a() //window 誰呼叫就指向誰
物件中
var obj = {
aaa() {
setTimeout(function () {
console.log(this);//window 因為setTimeout是屬於window的相當於window.裡面的方法
});
console.log(this);//obj
},
};
obj.aaa();
建構函式中
function A (){
aaa(){
console.log(this)
}
}
var a = new A()
a.aaa() // this指向a例項物件 因為是a呼叫的
在箭頭函式中
箭頭函式沒有this 他會向上一層的作用域找this
ar obj = {
aaa() {
setTimeout(function () {
console.log(this);//window
//console.log(this) 這層才是箭頭函式的this 這句話的this就是下面這行程式碼的輸出的this
setTimeout(()=>{
console.log(this) //window
})
});
console.log(this);//obj
},
};
obj.aaa();
所以如果想找箭頭函式的this 就相當於在找上一層作用域的this 如果上一層還是箭頭函式 那麼它會再往上直到找到為止
相關文章
- setTimeout中的this指向問題和箭頭函式結合的區別函式
- 也談箭頭函式的 this 指向問題及相關函式
- 箭頭函式this指向詳解函式
- 箭頭函式this指向的陷阱函式
- 箭頭函式的this指向(二)函式
- es6學習_箭頭函式解決this指向問題函式
- ES6 箭頭函式下的this指向函式
- setTimeout和箭頭函式巢狀中的this指向函式巢狀
- 箭頭函式與普通函式區別函式
- 面試題:箭頭函式和普通函式的區別面試題函式
- 箭頭函式與普通函式的區別函式
- # 普通函式和箭頭函式的區別函式
- 箭頭函式函式
- 箭頭函式、簡寫函式、普通函式的區別函式
- javascript基礎修煉(8)——指向FP世界的箭頭函式JavaScript函式
- TypeScript 箭頭函式TypeScript函式
- JavaScript 箭頭函式JavaScript函式
- JS箭頭函式JS函式
- 簡述箭頭函式和普通函式的區別函式
- 箭頭函式和普通函式的10個區別函式
- 從一道面試題中總結JS作用域,this 指向和箭頭函式面試題JS函式
- 函式內部This的指向問題函式
- vue2專案中 箭頭函式和普通函式里面 this的指向有何不同?Vue函式
- Day 59/100 箭頭函式和普通函式的區別函式
- 箭頭函式中的this函式
- 有關箭頭函式函式
- 箭頭函式詳解函式
- 詳解箭頭函式和普通函式的區別以及箭頭函式的注意事項、不適用場景函式
- 深入理解箭頭函式和傳統函式的區別函式
- ES6箭頭函式函式
- 從settTimeout到匿名函式、箭頭函式之() => {}函式
- JS中的箭頭函式與thisJS函式
- 2020-10-18 箭頭函式函式
- JavaScript(ES6)—箭頭函式JavaScript函式
- 前端面試ES6系列:箭頭函式和普通函式的區別前端面試函式
- ES6 箭頭函式(arrow function)函式Function
- ES6箭頭函式總結函式
- ES6 系列之箭頭函式函式