把Timeout改为Interval,神奇现象:1 2 4 8数字极快速度翻倍地跳
setlnterval()本来就是隔一段时间运行一次,setTimeout()放在函数里也实现了无限循环的功能,前者更简单点啊,实际运用setInterval之后发现数字跳动是:1,2,4,8,16,32...还不是一秒一次而是超级快,一会儿浏览器就爆炸了,有大神说这是什么setInterval的累积效应,百度看不懂。下面代码是把例题中的Timeout改为了Interval,就出现了上面说的神奇现象。
<!DOCTYPE HTML> <html> <head> <script type="text/javascript"> var num=0; function numCount(){ document.getElementById('txt').value=num; num=num+1; setInterval("numCount()",1000); } </script> </head> <body> <form> <input type="text" id="txt" /> <input type="button" value="Start" onClick="numCount()" /> </form> </body> </html>