首页 > 解决方案 > JS中的基本数学问题

问题描述

为什么我的x = 0, x++加起来是 1、2,然后是 4、8、16 等等。我希望它每次加起来都是 1

    let x = 0;
    function startTime(){
      x++;
      document.getElementById("startP").innerHTML = x;
      setInterval(startTime, 1000);    
    }
<p id="startP">-</p>

标签: javascripthtml

解决方案


你在这里有一个递归。setInterval永远运行,直到您手动停止它。对于每个间隔,您都会开始一个新的间隔。

The setInterval() method will continue calling the function until clearInterval() is called, or the window is closed

见定义:https ://www.w3schools.com/jsref/met_win_setinterval.asp

您正在寻找setTimeout()


推荐阅读