Devinora
@Devinora
Front-end web development

"this". Что происходит в данном контексте?

Почему происходит потеря контекста? Опишите более популярным языком и максимально понятно. Желательно более деталей описать механику.

https://learn.javascript.ru/object-methods#ссылочн...
60a5a91b5df448cfa5b210f0c932e708.png

Это более проще описывает потерю контекста. И тут же эта пустая строка.
7fb0a62ccc0f4eb5928d3002e3108150.png

Поясните пожалуйста почему тут пустая строка?

64f5cc71438a480aaee43fa6d7c53b78.png
  • Вопрос задан
  • 332 просмотра
Решения вопроса 1
@xutesayor
Контекст - это объект, который стоит слева от точки, при вызове функции. Он и попадает в this.
obj.hi();
obj - Это контекст.
если мы присвоим hi переменной и просто вызовем a(), то слева от точки ничего нет, значит и контекста нет.
И если используем какой-нибудь хитрый вызов, типа тернарного оператора, то JS не может определить контекст, и соответственно функция будет вызвана без него.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Rapen
Переменной 'a' присвоили функцию. A контекст вызова у a другой(Window). По логике в this именно window, а не undefined.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы