«Это ключевое слово относится к объекту, свойством которого является функция» запутанная запись, которую я знаю. давайте просто посмотрим на это на примере.

См. Объект с именем obj, который я здесь создал, мы использовали «this» для обозначения имени в объекте. Теперь потерпите меня и попытайтесь понять это вот так. Как функция sing будет использовать свойство name своего собственного объекта. мы не можем писать просто obj.name.

когда функция хочет поговорить с объектом, свойством которого она является, тогда она использует ключевое слово «this», поэтому, когда функция sing хочет сослаться на имя своего объекта, она использовала ключевое слово this.

каков будет результат этой функции, когда я запустил ().

когда функция вызывается в браузере, окно является родительским объектом для всех. поэтому, когда я вызываю a (), результатом будет печать объектов, которые функция является свойством первого console.log будет печатать объект window. второй console.log также распечатает окно, так как объект окна не изменился. но когда вызывается третий console.log, объект изменяется, теперь функция hi является свойством объекта «c», поэтому третий console.log напечатает объект c

Я надеюсь, что вам все понятно, и если у вас все еще есть путаница, вы можете обратиться к mdn docs.

Ключевое слово this дает в основном два преимущества:

  1. это помогает вам разговаривать со свойством родительского объекта.
  2. это поможет вам свести к минимуму повторное использование кода, поскольку мы можем изменить имя, и функции sing и singAgain () будут иметь изменение

Свойства этого: -

  1. он имеет динамическую область видимости. Да, это правда, вы слышали, что это правильно, весь javascript, который вы знаете, имеет лексическую область видимости, но ключевое слово this имеет динамическую область видимости.
  2. Функции ES6 автоматически назначаются для «use strict», следовательно, «this ключевое слово имеет лексическую область видимости».

Надеюсь, ты что-то узнал. ура, счастливого кодирования …….