qq_因为太帅曾被砍_0
2017-02-22 11:56
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>计时器</title> </head> <script type="text/javascript"> var num=0; //var i; function startCount(){ document.getElementById('count').value=num; num=num+1; var i=setTimeout("startCount()",1000); //这离i前面不能加VAR } </script> </head> <body> <form> <input type="text" id="count" /> <input type="button" value="Start" onclick='startCount()'/> <input type="button" value="Stop" onclick='clearTimeout(i)' /> </form> </body> </html>
i 是局部变量
var i是全局变量
你去看看局部变量和全局变量的解释和定义吧
这个是全局变量和局部变量的问题,你的i在starCount内部时,i是局部变量,你在内部定义的i在外部是不存在的,所以你在另一个函数里面调用这个i,自然就无效。
所以要在外部定义i,这样这个i就是全局变量,当你在清除定时器的函数里调用i时,是可以被调用的,因为是全局变量的关系。
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题