0

我正在尝试构建一个 javascript 函数,它将每秒用一个新数字更新一个输入字段。这基本上是我希望我的函数可以做的事情,希望有人可以给我一个关于我做错了什么的指针。

<script>
   var myVar = setInterval(function(){ getNumber() }, 1000);

   function getNumber() {
     var x = round(microtime(true) * 1000);;
     document.getElementById("displaynum").value = x;

</script>

<input type="text" id="displaynum">
4

2 回答 2

1

你有几个问题:

  • 函数的右括号
  • Math.round()不仅是round()
  • 是什么microtime()?我已将其替换Math.random()为生成随机数。

var myVar = setInterval(function() {
  getNumber()
}, 1000);

function getNumber() {
  var ts = new Date().getTime();
  var x = Math.round(ts*Math.random());
  document.getElementById("displaynum").value = x;
}
<input type="text" id="displaynum">

更新:

用于new Date().getTime()获取当前时间戳并将其与Math.random()获得重复概率最小的随机数结合使用。

于 2018-03-02T20:18:29.853 回答
0

您的方法是正确的,但是您的代码存在一些问题,例如 undefined function microtime

出于示例的目的,我已替换microtime为一个简单的计数器:

var increment = getNumber();
var input = document.getElementById('displaynum');

var myVar = setInterval(function() {
  input.value = increment();
}, 1000);

function getNumber() {
  var x = 0;
  return function() {
    return x++;
  }
}
<input id="displaynum" type="text" />

于 2018-03-02T20:23:26.230 回答