Нагуглил скрипт простейших часиков, и попробовал оптимизировать. Но так как я с яваскриптом только знакомлюсь, боюсь как бы я наоборот его не раздул
Подскажите насколько правильно я сделал, и как ещё можно производительность поднять.
Вот то что скачал:
<p id="txt"></p>
function startTime()
{
var today=new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
// add a zero in front of numbers<10
m=checkTime(m);
s=checkTime(s);
document.getElementById('txt').innerHTML=h+":"+m+":"+s;
t=setTimeout(function(){startTime()},500);
}
function checkTime(i)
{
if (i<10)
{
i="0" + i;
}
return i;
}
startTime();
А вот так я его попробовал оптимизировать:
<b><span id="th"></span>:<span id="tm"></span>:<span id="ts"></span></b>
function simpleClock() {
var today = new Date(),
h = today.getHours(),
m = today.getMinutes(),
s = today.getSeconds(),
th = document.getElementById('th'),
tm = document.getElementById('tm'),
ts = document.getElementById('ts');
th.innerHTML = h;
tm.innerHTML = checkTime(m);
ts.innerHTML = checkTime(s);
function checkTime(i) {
(i > 9) || (i = '0' + i);
return i;
}
function sec() {
if (s < 9) {
s++;
ts.innerHTML = '0' + s;
} else if (s < 59) {
s++;
ts.innerHTML = s;
} else {
clearInterval(t);
simpleClock();
}
}
t = setInterval(sec, 1000);
}
simpleClock();
Это конечно всё не в целях выиграть каплю процессорного времени, но в целях обучения.