Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 20.12.2011, 00:49
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от Livanderiaamarum
кажется каждая функция расширяет область видимости... внутрь стека? это как бы восходящее кверху стека замыкание?
Я сейчас дзен поймаю. Ты что написал вообще?

У каждой ф-ции есть своя область видимости. Любая переменная, объявленная в ней с ключевым словом var, будет локальной и недоступной для внешних ф-ций. Поиск переменной происходит сначала в локальной области, потом - в локальной области внешней ф-ции (если есть) и т.д., пока не дойдём до global object. Если и в global object нету - то Referrence error.

Что тут не понятного?
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #22 (permalink)  
Старый 20.12.2011, 00:49
Аватар для Livanderiaamarum
Профессор
Отправить личное сообщение для Livanderiaamarum Посмотреть профиль Найти все сообщения от Livanderiaamarum
 
Регистрация: 10.12.2011
Сообщений: 290

Сообщение от nerv_ Посмотреть сообщение
trikadin, тогда получается с Ваших слов, что тут есть замыкание
(function() {
// код
})();

Хотя чего спорить, все зависит от
//код
скажу вам одну тайну, профессианалы вроде меня знают это, щас серьезно, на заметку.
ВСЕ функции в js ВСЕГДА создают замыкания))
Ответить с цитированием
  #23 (permalink)  
Старый 20.12.2011, 00:51
Аватар для Livanderiaamarum
Профессор
Отправить личное сообщение для Livanderiaamarum Посмотреть профиль Найти все сообщения от Livanderiaamarum
 
Регистрация: 10.12.2011
Сообщений: 290

Сообщение от trikadin Посмотреть сообщение
Я сейчас дзен поймаю. Ты что написал вообще?

У каждой ф-ции есть своя область видимости. Любая переменная, объявленная в ней с ключевым словом var, будет локальной и недоступной для внешних ф-ций. Поиск переменной происходит сначала в локальной области, потом - в локальной области внешней ф-ции (если есть) и т.д., пока не дойдём до global object. Если и в global object нету - то Referrence error.

Что тут не понятного?
это тебе что-то непонятно)) мне все понятно) только я не понял вообще что ты написал, вернее я не понял как это относится к твоему коду и вообще к теме разговора. если ты не знаешь то замыкания это когда скоп копируется. есть низсходящие замыкания, есть восходящие. в данном случае восходящее. скоп расширен вверх. что, незнакомо)? А вроде Резинга читают тут все...

Последний раз редактировалось Livanderiaamarum, 20.12.2011 в 00:54.
Ответить с цитированием
  #24 (permalink)  
Старый 20.12.2011, 00:52
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от Livanderiaamarum Посмотреть сообщение
кажется каждая функция расширяет область видимости... вверх стека... вплоть до variable_local ? это как бы восходящее кверху стека замыкание?
нет замыкание - скоп оборачивающей анонимной функции. и никуда оно не восходит. но в стеке будет 3 функции.

Последний раз редактировалось melky, 20.12.2011 в 00:54.
Ответить с цитированием
  #25 (permalink)  
Старый 20.12.2011, 00:53
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от Livanderiaamarum
это тебе что-то непонятно)) мне все понятно)
А чего спрашиваешь тогда?
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #26 (permalink)  
Старый 20.12.2011, 00:55
Аватар для Livanderiaamarum
Профессор
Отправить личное сообщение для Livanderiaamarum Посмотреть профиль Найти все сообщения от Livanderiaamarum
 
Регистрация: 10.12.2011
Сообщений: 290

Сообщение от trikadin Посмотреть сообщение
А чего спрашиваешь тогда?
просто ^__^ скучно же сидеть просто так) топик интересный создал вот)
Ответить с цитированием
  #27 (permalink)  
Старый 20.12.2011, 00:57
Аватар для Livanderiaamarum
Профессор
Отправить личное сообщение для Livanderiaamarum Посмотреть профиль Найти все сообщения от Livanderiaamarum
 
Регистрация: 10.12.2011
Сообщений: 290

Сообщение от melky Посмотреть сообщение
нет замыкание - скоп оборачивающей анонимной функции. и никуда оно не восходит. но в стеке будет 3 функции.
восходит это имеется ввиду расширяется область снизу стека или сверху)
в данном случае расширенна вверх стека), называется восходящее)
Ответить с цитированием
  #28 (permalink)  
Старый 20.12.2011, 00:59
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от Livanderiaamarum
так, я как не странно почти понял что произошло.
А я не понял. Можно специально для таких, как я?)
Это замыкание в замыкании? Вроде нет. Судя по всему функция обертка расширяет область видимости.
Я говорю вот об этом
var func_global; // предпочитаю объявлять заранее
(function() {
	 var variable_local = 3;
	 var func_local = function() { alert(variable_local); };
	 func_global = function() { func_local(); }; // здесь
})();
func_global();
alert(variable_local);
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 20.12.2011 в 01:10.
Ответить с цитированием
  #29 (permalink)  
Старый 20.12.2011, 01:00
Аватар для Livanderiaamarum
Профессор
Отправить личное сообщение для Livanderiaamarum Посмотреть профиль Найти все сообщения от Livanderiaamarum
 
Регистрация: 10.12.2011
Сообщений: 290

Сообщение от nerv_ Посмотреть сообщение
А я не понял. Можно специально для таких, как я?)
Это замыкание в замыкании?
да)
Ответить с цитированием
  #30 (permalink)  
Старый 20.12.2011, 01:11
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от Livanderiaamarum Посмотреть сообщение
да)
нет.

variable_local берётся из сохранённой области видимости корневой функции (самая первая - т.е. анонимная оборачивалка).

т.к. возможно я изрекаюсь слишком заумно, поэтому я кидаю картинку.



PS как мне нравится эта картинка троллфейса.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
wtf javascript vflash Оффтопик 53 14.11.2011 01:44
Что означает такой вызов? ksa jQuery 0 21.12.2010 13:45
DST что это? zzz Общие вопросы Javascript 3 11.08.2009 19:38
Сторонние библиотеки - быть или не быть? IIIEPJIOK Оффтопик 64 21.03.2009 19:39
Что означает конструкция ? ivanmara Общие вопросы Javascript 55 07.01.2009 02:54