this在js中的指向有很多種,本文整合了其中比較常見的幾種this指向的問題,
this在不同環境中運行時運行的結果可能不同
| 在全域作用域中時 | this指向window |
| 在普通函式中時 | this指向函式呼叫函式的元素 |
| 在箭頭函式中時 | 本身沒有this指向,指向取決于函式環境(在全域作用域時為window,在函式中時指向此函式的呼叫者) |
| 事件系結中的this | 指向的是這個事件的事件源 |
| 定時器中的this | 定時器采用的是回呼函式,回呼函式指向的是window,所以不管這個定時器的運行環境如果定時器始終指向window |
| 建構式中的this | 建構式配合new使用,new關鍵字的this指向的是實體化物件,所以建構式中的this指向的是實體化物件 |
小結,this在js中的指向取決于其運行環境...
這其中也包括了定時器中的this, 定時器本質是一個回呼函式經過延時后執行,回呼函式是一個宏任務,js主執行緒在運行時會將定時器交給運行環境執行,優先執行速度較快的同步任務,所以this指向的是js運行環境window,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/321275.html
標籤:其他
