Как действует ключевое слово «this» в Javascript внутри литерала объекта? [Дубликат]
На этот вопрос уже есть ответ здесь:
Самостоятельные ссылки в объектных литералах / инициализаторах 21 ответвиделКак этоэтот" работа с ключевыми словами внутри функции?но я неЯ не вижу, что это отвечает на следующие вопросы.
Учитывая этот код:
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
ISN»t привязан к текущему литералу объекта, чтоявляется это связано с?