var name = "Bob";
var book = {
name: "Harry Potter",
writeName: function() {
return function() {
document.writeln(this.book.name);
}
}
};
Когда я называю этосфера и переменные Javascript
book.writeName()();
Я хочу, чтобы напечатать Гарри Поттер (не Боб), который он делает выше, однако это:
var book2 = book;
book = null;
book2.writeName()();
Сейчас ищет this.book
(то есть null
), где он должен искать this.book2
Как я могу ссылаться на переменную?
Не используйте 'this'. – Bergi
@Bergi Но когда я перехожу к книге2, он все еще ищет книгу –
ОК, извините, мне нужно уточнить: не используйте 'this', где неуместно, как здесь, внутри возвращенной функции, где [' this'] (https: // разработчик .mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this) относится к глобальному объекту :-) – Bergi