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

定义的位置

var num=0;
  var i;
  function startCount(){
    document.getElementById('count').value=num;
    num=num+1;
    i=setTimeout("startCount()",1000);
  }
  function stopCount(){
      clearTimeout(i);
  
  }
var num=0;
 
  function startCount(){
    document.getElementById('count').value=num;
    num=num+1;
   var i=setTimeout("startCount()",1000);
  }
  function stopCount(){
      clearTimeout(i);
  
  }

这两个定义 i的方式,区别有什么,为什么的出来的结果不一样

正在回答

2 回答

一个全局变量,一个局部变量,你下面一种的方法,在停止的stopCount()方法里会找不到i变量,所以上面的方法才正确

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

箫闻 提问者

非常感谢!
2017-03-22 回复 有任何疑惑可以回复我~

函数体内的局部变量外部无法直接访问

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

举报

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

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

进入课程

定义的位置

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