Показать сообщение отдельно
  #9 (permalink)  
Старый 12.06.2011, 18:26
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

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

Есть еще другой вариант:
function clearAllTimers(){
  var currentID = setTimeout(function(){}, 1);
  for(var id = currentID; id > clearAllTimers.lastID; id--) clearTimeout(id);
  clearAllTimers.lastID = currentID;
};
clearAllTimers.lastID = 0;
Но лично мне в таких случаях больше через замыкание нравится.

Последний раз редактировалось Sweet, 12.06.2011 в 18:32.
Ответить с цитированием