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中文网其他相关文章!