我尝试在JavaScript
中首次使用面向对象的Javascript创建启动和停止计时器。我没有启动计时器的问题。问题是最重要的,因为即使我使用clearInterval
或clearTimeout
,启动时它也不会停止。请问我的代码有什么问题,我该如何解决?
function StopWatch() {
let timer = 0;
let starter = function() {
setInterval(function() {
++timer;
}, 1000);
// if(this.start) {
// throw new Error(`Timer already started`);
// }
console.log(timer);
};
let stopper = function() {
window.clearTimeout(starter);
console.log(timer)
};
this.start = starter;
this.stop = stopper;
}
const sw = new StopWatch();
console.log(sw);
谢谢。
答案 0 :(得分:0)
setInterval
函数返回一个引用,您将其传递给clearInterval
:
const interval;
//...
interval = setInterval(...);
//...
clearInterval(interval);