为了账号安全,请及时绑定邮箱和手机立即绑定

var num=0;为什么放在JS外面???

<!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>


正在回答

4 回答

<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>


0 回复 有任何疑惑可以回复我~
#1

慕村1994845

看注释
2016-10-24 回复 有任何疑惑可以回复我~

var num=0放在外面,是全局变量,在任何地方都有定义,都可以使用;

var num=0放在函数里,是局部变量,它只在定义它的函数内部起作用。

这涉及到作用域的概念,后面你就知道了

1 回复 有任何疑惑可以回复我~

var num=0 如果放在function 内部,只能被函数内部调用,函数外部就不能调用。

0 回复 有任何疑惑可以回复我~

也可以放在里面,如果有另一个函数,放在外面num可以在另一个方法中使用,放在里面的num就不能在另一个函数中使用了。

0 回复 有任何疑惑可以回复我~
#1

慕设计2978630 提问者

但是我放在JS里面怎么不起作用呢?
2016-09-03 回复 有任何疑惑可以回复我~
#2

qq__3590 回复 慕设计2978630 提问者

放在里面无论你执行多少次num=num+1,num都是0.放在外面它起到一个初始化的作用。
2016-09-04 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

var num=0;为什么放在JS外面???

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信