Я хотел бы сделать что-то больше, как это:
// Make sure Date.now exists in your environment
Date.now = Date.now || function() { return Number(new Date()); };
var time = 0,
start = Date.now(),
intervalId;
intervalId = setInterval(function() {
var seconds, display;
// get the exact time since the timer was started
time = Date.now() - start;
// get the number or seconds, rounded down
seconds = Math.floor(time/1000);
display = '' + seconds;
// pad the beginning of your display string with zeros
while (display.length < 4) {
display = "0" + display;
}
console.log(display);
}, 100);
setInterval
не является точным. Этот код гарантирует, что пока дисплей может быть почти до второго (теоретически), фактическое время, которое вы отслеживаете, - это точное время, прошедшее с момента запуска таймера. Но этот код обновлял бы дисплей примерно раз в десятую часть секунды, поэтому он вряд ли когда-либо будет выключен более чем за несколько миллисекунд.
Отсюда вы можете найти более разумные способы обновления дисплея, чтобы убедиться, что у вас есть необходимый уровень точности. Если это должно быть довольно точным, вы можете убедиться, что вы показываете десятую часть секунды.
Advice: 1. Использование запятой для завершения вашей линии. Они не являются обязательными, но на самом деле (прочитайте Javascript для хороших частей для чего). 2. Всегда держите фигурные скобки на одной линии. Это не стиль, привязки на новой строке могут вызвать странные ошибки. 3. В вашей функции в настоящее время есть 2 имени, просто используйте один - вы можете делать 'function() {...' 3. вы каждый раз сканируете весь документ для '$ (. Counter)', вы должны сохранить это в переменной, чтобы вам не пришлось сканировать. –
@GeorgeMauer Понимание ситуаций, в которых разрыв строки * не заканчивается, более важно, чем всегда слепо использовать точки с запятой, потому что даже те, кто использует точки с запятой, будут по-прежнему включать в себя некоторые утверждения, которые охватывают несколько строк. В этих случаях ставить точку с запятой в конец не спасет вас. См. [Эту замечательную статью] (http://blog.izs.me/post/2353458699/an-open-letter-to-javascript-leaders-regarding) – benekastah
Минусы разрывов строк и полуколоней были не тем, что я собирался здесь, но я ценю совет. –