Size: a a a

JavaScript Developers

2019 November 07

TT

Timur Timerkhanov in JavaScript Developers
источник

AL

Arthur Lobanov in JavaScript Developers
Вопрос такой, можно ли сказать что локальное или глобальное окружение при вызове функции и this - это одно и тоже?
источник

АД

Адылбек Джороев in JavaScript Developers
Не совсем понял вопрос
источник

АД

Адылбек Джороев in JavaScript Developers
При вызове функции и this - что это значит?
источник

AL

Arthur Lobanov in JavaScript Developers
да вопрос был вот в чем если функция в замыкании она имеет доступ к переменным в которых была создана
источник

AL

Arthur Lobanov in JavaScript Developers
это lexical environment
источник

AL

Arthur Lobanov in JavaScript Developers
если в объекте объявлен метод то мы можем получить доступ к свойствам через this
источник

AL

Arthur Lobanov in JavaScript Developers
в данном случае можно ли утверждать что this === le
источник

VZ

Vladimir Zhid in JavaScript Developers
Arthur Lobanov
если в объекте объявлен метод то мы можем получить доступ к свойствам через this
Нет, так считать нельзя. this будет отличаться от глобального объекта в случаях:
- При вызове метода, что определяется синтаксисом, если есть obj.method() то в контексте будет то, что было перед точкой.
- При вызове функции с оператором new
- При вызове функции через методы Function.prototype.{call, apply}
Вот вроде бы все кейсы...
источник

VZ

Vladimir Zhid in JavaScript Developers
Так что окружение это одно... а контекст другое
источник

AL

Arthur Lobanov in JavaScript Developers
cgfcb,k
источник

VZ

Vladimir Zhid in JavaScript Developers
По первому пункту сделаю уточнение, что выражение obj.method() не является обращением к объекту по ключу и его вызов, это именно вызов метода по ключу.. типо того.
источник

АД

Адылбек Джороев in JavaScript Developers
Arthur Lobanov
если в объекте объявлен метод то мы можем получить доступ к свойствам через this
Контекст вызова может отличаться даже если лексикал скоуп тот же, например, есть случаи потери контекста
источник

АД

Адылбек Джороев in JavaScript Developers
Vladimir Zhid
Нет, так считать нельзя. this будет отличаться от глобального объекта в случаях:
- При вызове метода, что определяется синтаксисом, если есть obj.method() то в контексте будет то, что было перед точкой.
- При вызове функции с оператором new
- При вызове функции через методы Function.prototype.{call, apply}
Вот вроде бы все кейсы...
+, и эти случаи)
источник

AL

Arthur Lobanov in JavaScript Developers
источник
2019 November 08

NG

N Gaiypov in JavaScript Developers
Я вот про колбэки не понял. Это функции передаваемые в качестве параметра. А в некоторых местах пишутся, что колбэки используются для борьбы с асинхронностью. Но ведь колбеки не гарант последовательного выполнения кода?
источник

NO

Nikita Omen in JavaScript Developers
N Gaiypov
Я вот про колбэки не понял. Это функции передаваемые в качестве параметра. А в некоторых местах пишутся, что колбэки используются для борьбы с асинхронностью. Но ведь колбеки не гарант последовательного выполнения кода?
Колбэки вызываются когда нужно, в том числе и в конце асинхронного вызова
источник

АД

Адылбек Джороев in JavaScript Developers
N Gaiypov
Я вот про колбэки не понял. Это функции передаваемые в качестве параметра. А в некоторых местах пишутся, что колбэки используются для борьбы с асинхронностью. Но ведь колбеки не гарант последовательного выполнения кода?
Для борьбы? Скорее они составляют важную часть в асинхронности JS
источник

АД

Адылбек Джороев in JavaScript Developers
Я могу ошибаться, но колбэки как раз были задуманы для событий браузера
источник

АД

Адылбек Джороев in JavaScript Developers
Чтобы при событии происходил обратный вызов функции (callback), что является асинхронным кодом
источник