Сообщение Re[18]: Оффтоп от 12.06.2015 18:14
Изменено 12.06.2015 18:24 binnom
Здравствуйте, Sharov, Вы писали:
AC>>>>Пример: перечисли виды variable scopes в js.
S>>>Три вроде: глобальный, локальный, замыкание. Может еще instance, через this которые.
B>>Скоупов всего два: global и local. Closure — это на самом деле не scope, а одна из фич разрешения имен (name resolution) в джаваскрипте.
S>Угу, msdn так и говорит, хотя я все же считаю замыкание отдельнам скоупом, т.е. имеем доступ к переменной, которая не является локальной для функции, но и не является глобальной. Здесь вообще каша.
У как все запущено. Там даже hoisting (#8) приплели в scopes... Вот чуть ниже есть совершенно правильный ответ, но его не засчитали за таковой:
[q]Javascript uses scope chains to establish the scope for a given function. There is typically one global scope, and each function defined has its own nested scope. Any function defined within another function has a local scope which is linked to the outer function. It's always the position in the source that defines the scope.
An element in the scope chain is basically a Map with a pointer to its parent scope.
When resolving a variable, javascript starts at the innermost scope and searches outwards.[/b]
AC>>>>Пример: перечисли виды variable scopes в js.
S>>>Три вроде: глобальный, локальный, замыкание. Может еще instance, через this которые.
B>>Скоупов всего два: global и local. Closure — это на самом деле не scope, а одна из фич разрешения имен (name resolution) в джаваскрипте.
S>Угу, msdn так и говорит, хотя я все же считаю замыкание отдельнам скоупом, т.е. имеем доступ к переменной, которая не является локальной для функции, но и не является глобальной. Здесь вообще каша.
У как все запущено. Там даже hoisting (#8) приплели в scopes... Вот чуть ниже есть совершенно правильный ответ, но его не засчитали за таковой:
[q]Javascript uses scope chains to establish the scope for a given function. There is typically one global scope, and each function defined has its own nested scope. Any function defined within another function has a local scope which is linked to the outer function. It's always the position in the source that defines the scope.
An element in the scope chain is basically a Map with a pointer to its parent scope.
When resolving a variable, javascript starts at the innermost scope and searches outwards.[/b]
Re[18]: Оффтоп
Здравствуйте, Sharov, Вы писали:
AC>>>>Пример: перечисли виды variable scopes в js.
S>>>Три вроде: глобальный, локальный, замыкание. Может еще instance, через this которые.
B>>Скоупов всего два: global и local. Closure — это на самом деле не scope, а одна из фич разрешения имен (name resolution) в джаваскрипте.
S>Угу, msdn так и говорит, хотя я все же считаю замыкание отдельнам скоупом, т.е. имеем доступ к переменной, которая не является локальной для функции, но и не является глобальной. Здесь вообще каша.
У как все запущено. Там даже hoisting (#8) приплели в scopes... Вот чуть ниже есть совершенно правильный ответ, но его не засчитали за таковой:
AC>>>>Пример: перечисли виды variable scopes в js.
S>>>Три вроде: глобальный, локальный, замыкание. Может еще instance, через this которые.
B>>Скоупов всего два: global и local. Closure — это на самом деле не scope, а одна из фич разрешения имен (name resolution) в джаваскрипте.
S>Угу, msdn так и говорит, хотя я все же считаю замыкание отдельнам скоупом, т.е. имеем доступ к переменной, которая не является локальной для функции, но и не является глобальной. Здесь вообще каша.
У как все запущено. Там даже hoisting (#8) приплели в scopes... Вот чуть ниже есть совершенно правильный ответ, но его не засчитали за таковой:
Javascript uses scope chains to establish the scope for a given function. There is typically one global scope, and each function defined has its own nested scope. Any function defined within another function has a local scope which is linked to the outer function. It's always the position in the source that defines the scope.
An element in the scope chain is basically a Map with a pointer to its parent scope.
When resolving a variable, javascript starts at the innermost scope and searches outwards.