首頁  >  文章  >  web前端  >  js中this的指向有幾種情況

js中this的指向有幾種情況

下次还敢
下次还敢原創
2024-05-06 14:03:15301瀏覽

JavaScript 中,this 的指向型別有:1. 全域物件;2.函數呼叫;3. 建構函式呼叫;4. 事件處理程序;5. 箭頭函數(繼承外層 this)。此外,可以使用 bind()、call() 和 apply() 方法明確設定 this 的指向。

js中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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn