Javascript 物件文字中的「this」關鍵字行為
在物件文字中,「this」關鍵字用作物件的佔位符本身。但是,它的行為可能會根據呼叫它的條件而有所不同。
在您的程式碼中:
var MyDate = function(date) { this.date = date; }; var obj1 = { foo: new Date(), bar: new MyDate(this.foo) // this.foo is undefined }; var obj2 = {}; obj2.foo = new Date(); obj2.bar = new MyDate(this.foo); // this.foo is undefined var obj3 = { foo: new Date(), bar: new MyDate(obj3.foo) }; var obj4 = {}; obj4.foo = new Date(); obj4.bar = new MyDate(obj4.foo);
理解「this」綁定
Javascript 的「this」關鍵字表現出後期綁定定,這意味著它的值在呼叫函數之前才確定。在您的情況下:
場景1 和2:
場景3 和4:
結論
物件中「this」關鍵字的行為文字取決於呼叫函數的上下文。如果沒有明確綁定到對象,則預設為全域對象。但是,當作為對象的方法呼叫時,它會引用該特定對象,確保正確存取該對象的屬性和方法。
以上是JavaScript 物件文字中的「this」關鍵字如何表現?的詳細內容。更多資訊請關注PHP中文網其他相關文章!