gpt4 book ai didi

javascript - 递归函数的缓冲区溢出

转载 作者:行者123 更新时间:2023-12-03 11:28:51 25 4
gpt4 key购买 nike

有一个函数 animateTitle() 可以定期更改浏览器标题 - 每 3 秒一次。

var animateTitle = function(countMessages) {
if (isChatTab) {
if (animStep) {
document.title = "New messages ("+countMessages+") - "+origTitle;
} else {
document.title = origTitle;
}
animStep = !animStep;
} else {
document.title = origTitle;
animStep = false;
}

time_title = setInterval(function(){ animateTitle(countMessages) }, 3000);
};

在我的脚本中,参数countMessages是实时变化的,并被传递给函数animateTitle,因此这会导致缓冲区溢出,因为该函数是递归的。如何修复?

最佳答案

目前,由于您没有清除现有间隔,因此每个函数调用都会创建新的间隔。您应该将间隔移到函数之外:

var animateTitle = function(countMessages) {
if (isChatTab) {
if (animStep) {
document.title = "New messages ("+countMessages+") - "+origTitle;
} else {
document.title = origTitle;
}
animStep = !animStep;
} else {
document.title = origTitle;
animStep = false;
}
};
time_title = setInterval(function(){ animateTitle(countMessages) }, 3000);

关于javascript - 递归函数的缓冲区溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26817160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com