问答详情
源自:8-17 编程练习

为什么 var要在 function外面呢

 function daojishi(){   

     var i=5;

     i--;

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

      if(i==0)

        {

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

        }

     }

     setInterval(daojishi,1000);


提问者:大大大大雄 2016-05-30 16:39

个回答

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

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

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

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


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

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