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

重复声明变量

var num = 0,i; function startCount(){    document.getElementById("count").value = num;    num += 1;     i = setTimeout("startCount()",100);    } function stopCount(){     clearTimeout(i);  } 这样是ok的,但是把六行的i前面加上var,即var i = setTimeout("startCount()",100);就有问题呢?

正在回答

4 回答

你在第六行的i前面加上var,对于startCount()来说他是个局部变量,那么在stopCount()中的i的值只能是第一行中的全局变量i而不能用局部变量中的i;也可以理解为一个函数的局部变量不能在另一个函数中直接引用

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

我试了你的代码了,加上var也还是能正常运行的啊。感觉楼上那几个都是扯犊子,var只是声明变量而已,怎么还可能影响他的作用域。

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

1楼正解      你前面声明的i的在

<script type="text/javascript"></script> 内 都有效 


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

i是全局变量,函数内不能声明和i名字一样的变量

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

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468044    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

重复声明变量

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