Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.02.2010, 10:26
Новичок на форуме
Отправить личное сообщение для regesh Посмотреть профиль Найти все сообщения от regesh
 
Регистрация: 14.02.2010
Сообщений: 6

Это баг do{}while или что?
Подскажите пожалуйста почему когда я в цикле делаю .get()
to все 3 раза получаю почему то в значение переменной w = 4,
хотя должно быть 1 потом 2 потом 3. Див #footer лишь для показа присваиваемых значений.
s string 6 in my code)
ct_all=3
w=1
do{
toto='#center_' + w
$.get("include/view_function.php", { hot: w},function(data){$(toto).load(data + " .tp_offers_tbl");
$('#footer').append(w)
});
w++
}while(w<=ct_all)

Спасибо за любую помощь. А то уже голову сломал.((
Ответить с цитированием
  #2 (permalink)  
Старый 14.02.2010, 10:42
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 03.04.2008
Сообщений: 6,233

http://javascript.ru/basic/closure
Ответить с цитированием
  #3 (permalink)  
Старый 14.02.2010, 11:29
Новичок на форуме
Отправить личное сообщение для regesh Посмотреть профиль Найти все сообщения от regesh
 
Регистрация: 14.02.2010
Сообщений: 6

Сообщение от Gvozd Посмотреть сообщение
http://javascript.ru/basic/closure
Спасибо конечно за помощь, но я немного не понимаю в чем ошибка.
Немогли бы вы просто обяснить что я не так сделал в этих замыканих ???
Ответить с цитированием
  #4 (permalink)  
Старый 14.02.2010, 11:37
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 03.04.2008
Сообщений: 6,233

уточняю
http://javascript.ru/basic/closure#p...-ispolzovaniya
у вас переменная toto замкнута на внешний контекст, и соответственно принимает свое последнее значение
Ответить с цитированием
  #5 (permalink)  
Старый 14.02.2010, 15:49
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

говоря _человеческим_ языком: в функцию передаётся не значение toto, а сама переменная. соответственно во всех созданных функциях будет одно и то же значение - последнее присвоенное переменной
__________________
.ня
Ответить с цитированием
  #6 (permalink)  
Старый 14.02.2010, 22:16
Новичок на форуме
Отправить личное сообщение для regesh Посмотреть профиль Найти все сообщения от regesh
 
Регистрация: 14.02.2010
Сообщений: 6

Сообщение от tenshi Посмотреть сообщение
говоря _человеческим_ языком: в функцию передаётся не значение toto, а сама переменная. соответственно во всех созданных функциях будет одно и то же значение - последнее присвоенное переменной
Извените за наглость или лень) Но не могли бы вы подправить мой код так что бы он заработал.
Ответить с цитированием
  #7 (permalink)  
Старый 14.02.2010, 22:31
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

нет
__________________
.ня
Ответить с цитированием
  #8 (permalink)  
Старый 14.02.2010, 22:44
Новичок на форуме
Отправить личное сообщение для regesh Посмотреть профиль Найти все сообщения от regesh
 
Регистрация: 14.02.2010
Сообщений: 6

Сообщение от tenshi Посмотреть сообщение
нет
хм...не понятно(
Ответить с цитированием
  #9 (permalink)  
Старый 14.02.2010, 22:53
Новичок на форуме
Отправить личное сообщение для regesh Посмотреть профиль Найти все сообщения от regesh
 
Регистрация: 14.02.2010
Сообщений: 6

Сообщение от Gvozd Посмотреть сообщение
уточняю
http://javascript.ru/basic/closure#p...-ispolzovaniya
у вас переменная toto замкнута на внешний контекст, и соответственно принимает свое последнее значение

Может вам будет не трудно иправить мой код что бы он заработал.
Думаю так я быстрей пойму как избежать подобных ошибок в будущем.
Ответить с цитированием
  #10 (permalink)  
Старый 14.02.2010, 23:00
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 03.04.2008
Сообщений: 6,233

Сообщение от regesh
Может вам будет не трудно иправить мой код что бы он заработал.
не трудно
именно поэтому я оставляю эту задачу вам.
код из ссылки достаточно похож на ваш код.
если вы не в состоянии разобраться с этой проблемой по готовому похожему примеру(не говоря уже об усвоении и понимании теоретической основы стоящей за ним), то в дальнейшем при столкновении с более трудными проблемами, вы также не сможете их решить. В таких условиях вы просто не сможете быть программистом.
PS советую забыть о jQuery, до тех пор пока вы не изучите хотя бы основные моменты JS. jQuery на данном этапе вашего обучения скорее вреден, чем полезен
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие div блока при первом визите на сайт Nushaba Общие вопросы Javascript 28 20.12.2013 19:24
Как сделать, чтобы музыка <embed> на странице не играла только при первом посещении? Bad Request Общие вопросы Javascript 22 27.07.2009 18:44
Сторонние библиотеки - быть или не быть? IIIEPJIOK Оффтопик 64 21.03.2009 18:39
Странность при вычислении выражений.. Это баг или фича? krvwd Общие вопросы Javascript 9 28.01.2009 17:04
Что означает конструкция ? ivanmara Общие вопросы Javascript 55 07.01.2009 01:54