今天写了个简单的定时器,遇到了一个报错
错误定义:堆栈溢出,最大堆栈超过了最大值、 以下是错误代码
<script type="text/javascript">
var num=0,i;
function startCount(){
document.getElementById('txt').value=num;
num+=1;
i=setTimeout(startCount(),1000)
}
function stopCount(){
clearTimeout(i)
}
</script>
<input type="text" id="txt" />
<input type="button" onclick="startCount()" value="start"/>
<input type="button" onclick="" value="stop"/>
报错截图: 效果截图(正常情况应该是每秒钟递增1个数值):
错误原因:没有给setTimeout()中的startCount()函数添加双引号,导致startCount()无法正常调用。
正确写法:setTimeout(startCount,1000) 或者setTimeout("startCount()",1000)