我是第一次学习 JavaScript 中的 setInterval,并试图在 5 秒后显示一个值。我的代码如下:
<button onclick="myTest()">Try it</button>
<script>
function myTest() {
const ret = myFunction();
alert(ret);
}
function myFunction() {
let i = 0;
const interval = setInterval(function(){
i += 1;
if (i === 5) {
clearInterval(interval);
return i;
}
}, 1000);
}
</script>
我想提醒 5,但我得到的是 undefined
。有谁知道为什么会这样?提前致谢!
最佳答案
您不能从 setInterval
调用中的匿名函数返回任何内容。您需要从该函数中写入 console
。试试这个:
function myTest() {
// this function is now redundant - you could call myFunction() directly
myFunction();
}
function myFunction() {
let i = 0;
const interval = setInterval(function() {
i += 1;
if (i === 5) {
clearInterval(interval);
console.log(i); // this will appear after 5 seconds...
}
}, 1000);
}
myTest();
关于javascript - setInterval 函数返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39223622/