У меня есть объект, как показано ниже.
В строке 6 я пишу console.log(this.title, elem)
.
Теперь, согласно тому, что я узнал об этом.-ключевом слове, this.title
не должен ссылаться здесь на текущий объект, а на глобальный объект-окно. Теперь, вопреки моему знанию, this.title
, кажется, правильно ссылается на свойство видео-объекта.
const video = {
title: "a",
tags: ["a", "b", "c", "d"],
showTags() {
this.tags.forEach(elem => {
console.log(this.title + ": ", elem)
});
}
}
video.showTags();
Вот что показывает Браузер:
a: a
a: b
a: c
Я думал, что, поскольку console.log(this.title, elem)
находится внутри функции обратного вызова, будет сделана ссылка на глобальный объект окна. Этот пост подтверждает мое мнение о том, что this.title
должен фактически ссылаются на глобальный объект.
Может кто-нибудь объяснить?
showTags
является членом этого объекта. - person Daniel A. White   schedule 30.04.2019