Задержка выполнения с помощью setTimeout - PullRequest
3 голосов
/ 14 сентября 2010

Функция тайм-аута JavaScript

setTimeout(fun, 3600);

, но что если я не хочу запускать какие-либо другие функции?Могу ли я сделать setTimeout(3600);?

Ответы [ 3 ]

11 голосов
/ 14 сентября 2010

Исходя из того, что вы говорите, вы просто пытаетесь отложить выполнение функции.

Скажем, например, что вы хотите запустить оповещение, а еще через 2 секунды второе оповещение, например, так:

alert("Hello")
sleep
alert("World")

В javascript единственный 100% совместимый способ сделать это - разделить функцию.

function a()
{
alert("Hello")
setTimeout("b()",3000);
}
function b()
{
alert("World");
}

Вы также можете объявить функцию внутри самого setTimeout следующим образом:

function a()
{
  alert("Hello");
  setTimeout(function() {
    alert("World");
  },3000);
}
6 голосов
/ 14 сентября 2010

Я не уверен, что вы пытаетесь сделать. Если вы не хотите, чтобы по прошествии определенного времени ничего не происходило, зачем вам сначала setTimeout()?

2 голосов
/ 14 сентября 2010

Вы всегда можете передать обработчик, который ничего не делает:

setTimeout(function() { }, 3600);

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...