Javascript - Как эта функция часов обновляет время, если нет функции setInterval? - PullRequest
0 голосов
/ 04 января 2019

Я думал, что startTime вызывается только один раз, и поэтому setTimeout. Почему для этого не нужно использовать setInterval?

function startTime() {
  var today = new Date();
  var h = today.getHours();
  var m = today.getMinutes();
  var s = today.getSeconds();
  m = checkTime(m);
  s = checkTime(s);
  document.getElementById('time').innerHTML =
  h + ":" + m + ":" + s;
  var t = setTimeout(startTime, 500);
}
function checkTime(i) {
  if (i < 10) {i = "0" + i};  // add zero in front of numbers < 10
  return i;
}

starTime()

1 Ответ

0 голосов
/ 04 января 2019

Функция вызывает себя в конце:

var t = setTimeout (startTime, 500);

Когда вызывается функция, устанавливается другое время ожидания. Он эффективно действует как setInterval, но, делая это таким образом, вы также можете установить таймаут только при определенных условиях.

...