如何在 Javascript 中制作毫秒计时器?

How to make a millisecond chronometer in Javascript?

我发现如何在 javascript(Jquery)(Jquery)中制作一个以毫秒为单位的时钟(参见代码片段),但我不知道如何制作一个仅以毫秒为单位的计时器。 我试图创建一个循环,将 1000 添加到 "milli" 的值,但我的条件从未完全起作用

// START CLOCK SCRIPT

Number.prototype.pad = function(n) {
  for (var r = this.toString(); r.length < n; r = 0 + r);
  return r;
};

function updateClock() {
  var now = new Date();
  var milli = now.getMilliseconds(),
    sec = now.getSeconds(),
    min = now.getMinutes(),
    hou = now.getHours(),
    mo = now.getMonth(),
    dy = now.getDate(),
    yr = now.getFullYear();
  var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
  var tags = ["mon", "d", "y", "h", "m", "s", "mi"],
    corr = [months[mo], dy, yr, hou.pad(2), min.pad(2), sec.pad(2), milli];
  for (var i = 0; i < tags.length; i++)
    document.getElementById(tags[i]).firstChild.nodeValue = corr[i];
}

function initClock() {
  updateClock();
  window.setInterval("updateClock()", 1);
}

// END CLOCK SCRIPT
body {background-color:#666;}

#timedate {
  font: small-caps bold 43px/150% Arial, Helvetica, sans-serif;
  text-align:left;
  width: 50%;
  margin: 20px auto;
  color:#333;
  border-left: 20px solid yellow;
  padding: 20px;
}
<body onLoad="initClock()">

  <div id="timedate">
    <a id="mon">January</a>
    <a id="d">1</a>,
    <a id="y">0</a><br />
    <a id="h">12</a> :
    <a id="m">00</a>:
    <a id="s">00</a>:
    <a id="mi">000</a>
  </div>

您可以在日期 API 中使用 getTime 函数,它是 1970/01/01 之后的 returns 毫秒数。

function updateClock(initTime) {
  var now = new Date();
  var milli = now.getTime() - initTime;
  document.getElementById('timedate').innerHTML = milli;
}

function initClock() {
  var initTime = new Date().getTime();
  updateClock();
  window.setInterval(updateClock, 1, initTime);
}