理解JavaScript 物件文字中的「this」關鍵字
在JavaScript 的物件文字中,「this」關鍵字的行為可能非常不同來自其他程式語言。以下是其工作原理的全面說明。
呼叫時綁定
與其他後期綁定語言不同,JavaScript 在呼叫時而不是在編譯期間綁定「this」時間或運行時間。這意味著“this”的值取決於函數的呼叫方式。
綁定規則
JavaScript 物件文字中「this」的綁定規則如下:
範例使用案例
說明不同的綁定規則:
const obj = { foo: "Foo", bar() { console.log(this.foo); // "Foo" - "this" refers to the object }, }; obj.bar(); // Calls the method, binding "this" to the object
function MyDate(date) { this.date = date; } const obj1 = { foo: new Date(), bar: new MyDate(this.foo), // Error: this.foo is undefined }; const obj2 = { foo: new Date(), bar: new MyDate(obj2.foo), // Works: "this" refers to obj2 };
在第一個範例中, “this”引用物件“obj”,因為該方法被作為物件方法呼叫。 。
以上是「this」關鍵字在 JavaScript 物件文字中的行為如何?的詳細內容。更多資訊請關注PHP中文網其他相關文章!