我期待着开始然后停止一个setInterval,我遇到过的所有例子都用全局变量做这个,但我宁愿不使用一个,如果我可以的话。停止setInterval()没有全局变量
我有一个按钮来启动setInterval和另一个来停止它。我可以启动它就好了,但是我无法在不使用全局变量的情况下停止它。
这是我有:
function counter() {
function stop() {
clearInterval(timer);
}
var timer = setInterval(function() {
console.log(new Date());
}, 1000);
return stop;
}
$('#start').click(function() {
counter();
});
$('#stop').click(function() {
stop(); // this of course doesn't work
});
与'const'或'let'一起使用块? – Li357
在IIFE中包装整个东西 – Pointy
您应该将stop函数移出计数器函数,以便在$('stop')内调用它。click(function(){}) – user93