JavaScript setInterval函数:是否存在错误?

JavaScript setInterval函数:是否存在错误?,javascript,setinterval,Javascript,Setinterval,这是我目前的代码: var intervalStreet = 1000; var richPersonOnStreet = false; var poorPersonOnStreet = false; function streetIntervalEvent() { var peopleRandomChance = Math.random(); document.getElementById("number").innerHTML = peopleRandomChance;

这是我目前的代码:

var intervalStreet = 1000;
var richPersonOnStreet = false;
var poorPersonOnStreet = false;

function streetIntervalEvent() {
    var peopleRandomChance = Math.random();
    document.getElementById("number").innerHTML = peopleRandomChance;
    if (peopleRandomChance <= 0.1) {
        richPersonOnStreet = true;
        document.getElementById("streetText").innerHTML = "A rich man is on the street!";
        intervalStreet = 5000;
        setInterval(function(){var richPersonOnStreet = false; document.getElementById("streetText").innerHTML = "Nothing is happening on the street...";}, 5000);
        intervalStreet = 1000;
    }
}
setInterval(streetIntervalEvent, intervalStreet);
var intervalStreet=1000;
var RichpersonConstreet=假;
var poorpersonnstreet=false;
函数streetIntervalEvent(){
var peopleRandomChance=Math.random();
document.getElementById(“number”).innerHTML=peopleRandomChance;

如果(peopleRandomChance您每秒呼叫
streetIntervalEvent

每次调用
streetIntervalEvent
时,每5秒调用
function(){var richpersonnstree…

10分钟后,每隔5秒将有约60次间隔调用该内部函数

最终你会有一个无限的数字(除了浏览器会首先崩溃)



这可能是可以修复的,但我不知道您首先要实现的是什么。

不,这是您自己代码的一个可修复错误。从本身由
setInterval()触发的函数调用
setInterval()
可能不是您想要做的。您试图用代码实现什么?您在函数声明之后设置了一个初始间隔,但在函数声明的内部又重新设置了一次;这可能是造成间隔混乱的原因吗?您是否与
setTimeout
setInterval
混淆了?