JavaScript 中,this 的指向型別有:1. 全域物件;2.函數呼叫;3. 建構函式呼叫;4. 事件處理程序;5. 箭頭函數(繼承外層 this)。此外,可以使用 bind()、call() 和 apply() 方法明確設定 this 的指向。
JavaScript 中this 的指向
this 所指向的型別
#JavaScript 中,this 的指向有以下幾種型別:
1. 全域物件
當函數在全域作用域中呼叫時,this 指向window 物件(在瀏覽器中)或global 物件(在Node.js 中)。
2. 函數呼叫
-
- 當函數作為方法呼叫時,this 指向包含該方法的物件。
例如: const person = { name: "John", greet: function() { console.log(this.name); }}; person.greet();
3. 建構子呼叫
-
- 當使用new 關鍵字呼叫函數時,this 指向新建立的物件。
例如: const person = new Person("John");
#4. 事件處理程序
- ##當事件處理程序(如onclick)呼叫時,this 指向觸發事件的元素。
-
例如:
5. 箭頭函數
- 箭頭函數中沒有自己的this,它會繼承外層作用域的this。
-
例如:
const person = { name: "John", greet: () => console.log(this.name); };
注意事項
- 可以使用bind()、call() 和apply() 方法明確設定this 的指向。
- 箭頭函數和 class 方法總是綁定 this 到它們定義的作用域。
###
以上是js中this的指向有幾種情況的詳細內容。更多資訊請關注PHP中文網其他相關文章!