Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.01.2012, 00:51
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Замыкание незамыкается...
var w = 4;
(function() {
	window.q = function q() {
		alert(w)
	}
})()
w = 3;
q()


почему выдает 3 а не 4!! ? потому что в скопе функции q лежит ссылка на window.w
меняя w мы меняем и то что выдаст функция.



хорошо, тогда так

(function() {
	//создаем обьект
	//кладем ссылку на него в локальную ww
	var ww = {
		a : 4
	}
	//кладем ссылку на него в window.ww
	window.ww = ww

	window.q = function q() {
		alert(ww.a)
	}
})()
window.ww = 3
q() // выдает 4 хотя значение мы уже поменяли!
Ответить с цитированием
  #2 (permalink)  
Старый 31.01.2012, 01:22
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,511

Не тупи, ссылку на обобьет ты затёр тройкой.
Надо:
window.ww.a = 3
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 31.01.2012, 02:58
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

млять я думал я .a написал) спасибо) а то я уже всю консоль хрома излазил вдоль и поперек
Ответить с цитированием
  #4 (permalink)  
Старый 31.01.2012, 03:00
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

если бы у нас было alert(window.ww.a) а я затер так window.ww = 3
тогда бы сработало)) точно..

это и называется маленький вонючий жужащий баг из-за невнимательности

Последний раз редактировалось Livaanderiamarum, 31.01.2012 в 04:44.
Ответить с цитированием
  #5 (permalink)  
Старый 31.01.2012, 14:28
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

удалил
__________________
readOnly
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка картинок в броузере (дописать замыкание) mistercx Элементы интерфейса 1 05.06.2011 14:09
своё замыкание каждому объекту. cainrus Общие вопросы Javascript 40 25.10.2010 13:57
вопр. замыкание Shaci jQuery 6 05.03.2010 12:21
Подскажите, как работает простой код (замыкание функции)? Dotod Общие вопросы Javascript 5 02.12.2009 04:03
Замыкание - это... Zeroglif Общие вопросы Javascript 11 06.03.2009 22:04