Как работает ключевое слово «это»? Приведите несколько примеров кода.

Ключевое слово this оценивается как значение ThisBinding текущего контекста выполнения. ThisBinding — это то, что интерпретатор JavaScript поддерживает при оценке кода JavaScript, как специальный регистр ЦП, который содержит ссылку на объект. Интерпретатор обновляет ThisBinding всякий раз, когда устанавливается контекст выполнения в одном из трех различных случаев:

  1. Начальный глобальный контекст выполнения (при наличии <script> тегов)
  2. Ввод кода оценки: прямой вызов eval сохраняет ThisBinding вызывающего контекста выполнения, косвенные вызовы eval задают ThisBinding глобальному объекту, как если бы он выполнялся в начальном глобальном контексте выполнения
  3. Ввод кода функции: при вызове функции. Если функция вызывается для объекта, например, в obj.myMethod(), то ThisBinding устанавливается для объекта. В большинстве других случаев ThisBinding устанавливается в глобальный объект (за исключением случаев, когда указано в аргументах apply / call / bind).

Примеры:

Чтобы проверить 1 и 2, в html

Чтобы проверить 3, в файле javascript