Javascript setInterval函数未定义

Nis*_*dru 5 javascript

这段代码出了什么问题我似乎在解决定时器未定义的错误

var counter = setInterval("timer()",1000);

            function timer(){
                count = count-1;
                if(count <=0){
                    clearInterval(counter);
                    return;
                }
                document.getElementById("timer").innerHTML = count + " sec";
            }
Run Code Online (Sandbox Code Playgroud)

SLa*_*aks 8

不要传递字符串setInterval.

您的函数是一个局部变量,当setTimeouteval是全局范围内的字符串时,该变量不存在.

相反,将函数本身传递给setInterval:

var counter = setInterval(timer, 1000);
Run Code Online (Sandbox Code Playgroud)