相关疑难解决方法(0)

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);
Run Code Online (Sandbox Code Playgroud)

为什么前两次尝试失败,但最后两次失败?如果this没有绑定到当前对象的文字,什么它必然?

javascript

45
推荐指数
4
解决办法
2万
查看次数

标签 统计

javascript ×1