慕设计2978630
2016-09-02 08:17
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
var num=0;
function numCount(){
document.getElementById('txt').value=num;
num=num+1;
setTimeout("numCount()",1000);
}
</script>
</head>
<body>
<form>
<input type="text" size="40" id="txt">
<input type="button" value="Start" onClick="numCount()" />
</form>
</body>
</html>
<html> <head> <script type="text/javascript"> var c=0 var t function timedCount() { document.getElementById('txt').value=c c=c+1 t=setTimeout("timedCount()",1000) } function stopCount() { clearTimeout(t) //这里调用了变量t,而t=setTimeout("timedCount()",1000),也就说会调用到c; //如果c放在函数timedCount()中,是不是就不能给stopCount调用呢 } </script> </head> <body> <form> <input type="button" value="开始计时!" onClick="timedCount()"> <input type="text" id="txt"> <input type="button" value="停止计时!" onClick="stopCount()"> </form> <p> 请点击上面的“开始计时”按钮。输入框会从 0 开始一直进行计时。点击“停止计时”可停止计时。 </p> </body> </html>
var num=0放在外面,是全局变量,在任何地方都有定义,都可以使用;
var num=0放在函数里,是局部变量,它只在定义它的函数内部起作用。
这涉及到作用域的概念,后面你就知道了
var num=0 如果放在function 内部,只能被函数内部调用,函数外部就不能调用。
也可以放在里面,如果有另一个函数,放在外面num可以在另一个方法中使用,放在里面的num就不能在另一个函数中使用了。
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题
回答 2
回答 1