Javascript 在主页中不断显示随机值

Javascript 在主页中不断显示随机值,javascript,loops,Javascript,Loops,我是一个js初学者。 我想显示一些介于1到50之间的随机浮点值,只是传感器数据的演示值。 这就是我尝试过的代码: <!DOCTYPE html> <html> <body> <p id="demo"></p> <script> function myFunction() { while(1) { document.getElementById("demo").inner

我是一个js初学者。 我想显示一些介于1到50之间的随机浮点值,只是传感器数据的演示值。 这就是我尝试过的代码:

<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>

<script>
function myFunction() {
  while(1)
  {
   document.getElementById("demo").innerHTML = Math.random()*50 + 1 ;
  }
}
</script>

</body>
</html>

函数myFunction(){ 而(1) { document.getElementById(“demo”).innerHTML=Math.random()*50+1; } }
但它不起作用。有人能帮忙吗? 我想在页面加载时显示数字,并像动态数据一样不断更改值。

有两个问题:

  • 您定义了函数,但它没有在任何地方调用
  • 虽然(1)不会像您预期的那样工作
  • 以下是固定版本:

    函数myFunction(){
    document.getElementById(“demo”).innerHTML=Math.random()*50+1;
    }
    setInterval('myFunction()',1000)
    
    
    演示


    您的程序在
    中陷入无限循环,而(1)
    。浏览器从不返回控件,以便可以更新页面。你能做的就是在一个超时内完成你的循环。像这样,

    函数myFunction(){
    document.getElementById(“demo”).innerHTML=Math.random()*50+1;
    }
    设置间隔(myFunction,1);//超时时间以毫秒为单位。这几乎类似于在while循环中运行,因为“myFunction”将在每毫秒内执行一次。

    ,而(1){…}
    不会重新呈现文档()。如果你想做一些时钟/定时器,你可以使用或。然而,这里有一点很重要,您需要记住
    clearInterval
    /
    clearTimeout
    ,否则可能会发生奇怪的、意外的事情(interval线程可能会一直保持到您关闭浏览器选项卡或浏览器)

    下面是如何解决问题的示例代码:

    函数updateAndomValue(){
    document.getElementById(“demo”).innerHTML=Math.random()*50+1
    }
    const timerId=setInterval(updateradomvalue,1000)
    document.addEventListener(“onbeforeunload”,()=>clearInterval(timerId))

    -

    而(1)不会更新您的页面;它就这样断了。您也从未调用过该函数。这是你的更新脚本

    function updateFunc() {
      document.getElementById("demo").innerHTML = Math.random()*50 + 1 ;
    }
    window.setInterval(updateFunc, 1000);
    
    一些重要的注释。 我重命名了函数,因此代码更清晰。
    1000意味着它将每秒运行一次。如果希望更快或更慢,请更改该值。以毫秒为单位。

    您需要通过
    setTimeout()
    setInterval()
    使用计时器。循环运行时,浏览器不会呈现视图。此外,您没有调用“myFunction”。您需要在调用时删除
    调用,并在
    setInterval
    调用中调用其中的函数。最后,您可能希望对随机值进行四舍五入,否则将得到介于1和51之间的浮点值。为什么要使用setInterval?我看不出有任何理由使用setInterval@caramba这是问题的一部分
    当页面加载时,像动态数据一样不断地改变值
    非常感谢。这正是我想做的!而a学会了一个新概念,间隔!谢谢:数据无需
    四舍五入
    ,因为OP需要“一些介于1到50之间的随机浮点值”