Дополнительные аргументы
setTimeout
после первого и второго являются параметрами для вызова функции обратного вызова.Например, setTimeout((arg) => console.log(arg), 500, 'foo')
напечатает foo
через 500 мс.Таким образом, одним из вариантов будет использование параметра, переданного в setDigitalTime
в качестве третьего параметра setTimeout
:
function setDigitalTime(id){
let today = new Date();
let h = today.getHours();
let m = today.getMinutes();
let s = today.getSeconds();
if(m < 10){m = "0" + m;}
if(s < 10){s = "0" + s;}
document.getElementById(id).innerHTML = h+" : "+m+" : "+s;
setTimeout(setDigitalTime, 500, id);
}
Вы можете использовать тот же шаблон для дополнительных аргументов - четвертый аргумент, переданный setTimeout
представляет второй аргумент, с которым вызывается функция обратного вызова, и т. д.
Другим вариантом может быть анонимная встроенная функция, которая вызывает setDigitalTime(id)
:
function setDigitalTime(id){
let today = new Date();
let h = today.getHours();
let m = today.getMinutes();
let s = today.getSeconds();
if(m < 10){m = "0" + m;}
if(s < 10){s = "0" + s;}
document.getElementById(id).innerHTML = h+" : "+m+" : "+s;
setTimeout(() => setDigitalTime(id), 500);
}