定义的位置

来源:8-6 取消计时器clearTimeout()

箫闻

2017-03-22 10:34

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

  • 学习js
    2017-03-22 10:41:25
    已采纳

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

    箫闻

    非常感谢!

    2017-03-22 10:43:11

    共 1 条回复 >

  • 慕粉1440489053
    2017-03-28 01:17:20

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

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题