Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   setTimeout() (https://javascript.ru/forum/events/11042-settimeout.html)

inGray 04.08.2010 11:43

Если это нужно для целей Автора, то не смущает.

subzey 04.08.2010 12:18

Вот же, проблема!
Яваскрипт однопоточный, и код с таймаутом запустится только тогда, когда пройдет нужное время и никакой код не будет выполняться.

Т.е., даже если поставить таймаут на 0, он выполнится всегда после того, как отработает функция, вызвавшая это отложенное выполнение. Таким образом, кстати, можно проверять значение value у инпута сразу после keypress. :)

inGray 04.08.2010 12:37

To subzey
Теоритический интерес:
Примерно такой цикл для проверки семафора будет работать?
function checkFlag(){
  if (flag) {
     /*действия*/
  }
  else
    setTimeout(checkFlag,500);
}

Gvozd 04.08.2010 12:42

Цитата:

Сообщение от inGray
Примерно такой цикл для проверки семафора будет работать?

будет.
только не называйте это циклом, так как это ни разу не цикл

inGray 04.08.2010 12:45

По конструкции не for и не while
:yes:
Но по сути-то цикл? А вообще ответ был дан уважаемым Gvozd, ещё на той странице.

Sweet 04.08.2010 13:02

Поразвелось му#@$ков, не продохнуть! В основах не секут, а лезут.. Учи основы!!!

Gvozd 04.08.2010 13:10

Цитата:

Сообщение от inGray (Сообщение 66219)
По конструкции не for и не while
:yes:
Но по сути-то цикл? А вообще ответ был дан уважаемым Gvozd, ещё на той странице.

странно, что ответ был дан на предыдущей странице, но вопос вы задали на этой.

это не цикл.
и по сути, даже не цикл.
потому что данная конструкция ведет себя отлично от цикла.
хотя и похоже на первый взгляд.
вы бы еще рекурсией назвали данную конструкцию (разумеется это не рекурсия ни в каком виде)

Kolyaj 04.08.2010 13:12

Цитата:

Сообщение от Gvozd
и по сути, даже не цикл.

А давайте для чистоты спора введём понятие цикла :) А то будете тут ни о чём разговаривать.

inGray 04.08.2010 13:14

Простите дурака ) Это был ответ автору по поводу примера
Цитата:

Сообщение от DjTarik (Сообщение 66204)
А про флажки - можно пример? А то мне сказали, что нереально сделать что-то типо паузы.

PS
Цитата:

Сообщение от Kolyaj (Сообщение 66225)
А давайте для чистоты спора введём понятие цикла :) А то будете тут ни о чём разговаривать.

Полностью согласен)) Вопрос терминологии обсуждать можно долго )

Маэстро 04.08.2010 14:47

А давайте поспорим! Я считаю, что inGray вполне может назвать им написанное ЦИКЛОМ. Кто против? Те кто не видят там for или while??
Ну и что? Цикл - это некое повторяющееся действие... то есть циклически. В этом действии производится проверка УСЛОВИЯ. if () есть? -есть! Что вы придрались? Человеку надо задачу решить, а не придумать название своему скрипту.


Часовой пояс GMT +3, время: 07:23.