Я пытаюсь построить таймер с помощью JavaScript. Вот моя функция:
var t;
function time(num){
var buf = num;
document.getElementById("test").innerHTML=buf;
buf++;
alert(buf + " " + num); //For troubleshooting
t=setTimeout("time(buf)",1000);
}
Если я выполню время (0), ничего не случится с деталью с ID = "test". num всегда равно 0, а buf всегда равно 1 (из функции оповещения) при каждом вызове функции.
Мне хорошо с Java и C, и я знаю, что это будет работать на этих языках. Я знаю, что JavaScript также является языком передачи по значению, так почему этот таймер не работает?
Кроме того, почему ничего не произошло, когда я попытался (и изменил все buf на num )
t=setTimeout("time(num)",1000);
Я знаю, что есть другие способы создания таймера, но я хочу знать, почему этот метод не работает. Спасибо.