为什么 var要在 function外面呢

来源:8-17 编程练习

大大大大雄

2016-05-30 16:39

 function daojishi(){   

     var i=5;

     i--;

     document.getElementById("shijian").innerHTML=i;

      if(i==0)

        {

            location.assign("http://www.baidu.com");

        }

     }

     setInterval(daojishi,1000);


写回答 关注

3回答

  • lixinjh
    2016-05-30 17:17:12
    已采纳

    因为setInterval(daojishi,1000)的意思是每隔一秒会调用一次函数daojishi(),这样你的变量i每次都会重新赋值为5,而不是从上次i--后的值开始

    大大大大雄

    非常感谢!

    2016-05-30 19:33:26

    共 1 条回复 >

  • ssssssssasd
    2016-05-30 17:21:26

    因为在function里边每次计算都是从5开始的,你是需要倒计时到0跳转,在里边永远变不成0.你需要的是改变变量的大小,而不是每次改变之后又重新初始化这个变量。


  • 背包下的影子
    2016-05-30 17:16:31

    没看懂你的问题,不过这些都是作用域的问题。  你定义一个变量在函数体里面,那么他就在函数中起作用啊。 至于你说的在函数外面,估计你访问的是全局变量吧。  

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题