我在控制台中练习这个简单的倒计时功能,一旦我完成编写并点击回车,代码就可以工作了,但是当我再次尝试调用它时(键入countDown();
),控制台会给我这个错误信息说
“未捕获的TypeError:countDown不是函数”。
我将函数保存在变量countDown
中,当我调用函数时,我只需键入countDown();
我检查没有输入错误。我做错了什么,代码如下......
var timeLeft = 10;
var countDown = setInterval(function(){
timeLeft--;
console.log(timeLeft);
if(timeLeft === 0){
clearInterval(countDown)
console.log("count down completed")
}
} ,1000);
答案 0 :(得分:0)
我将函数保存在变量countDown
中
不,您在该变量中保存了setInterval
的结果。
setInterval
返回计时器ID,而不是函数。
如果要在变量中保存函数,则需要将函数实际保存在变量中。
答案 1 :(得分:0)
我认为您应该在setInterval之外声明该函数,我在下面的示例中提供了您的参考:
var timeLeft = 10;
var countDown = setInterval(timer, 1000 );
function timer() {
console.log(timeLeft);
if (timeLeft < 1) {
console.log('Count down completed');
clearInterval(countDown);
return;
}
timeLeft -= 1;
}