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

每过两秒函数被立即执行两次

<!DOCTYPE html>

<html>

 <head>

  <title>浏览器对象</title>  

  <meta http-equiv="Content-Type" content="text/html; charset=gkb"/>   

 </head>

 <body>

  <!--先编写好网页布局-->

  <h1>操作成功</h1>

  <spen id="sj"></spen>秒后回到主页<a href="www.imooc.com">返回</a>

  

 

  <script type="text/javascript">  

  var i=5;

 function js(){

   //获取显示秒数的元素,通过定时器来更改秒数。

   i--;

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

   //通过window的location和history对象来控制网页的跳转。

    if(i==0){

        location.replace(window.history.back());

    }

    

 }

   setInterval(js,2000);

 </script> 


每过两秒函数被立即执行两次,就是过两秒i从5变成4,然后立即变成3,再过两秒从3变成2,在立即变成1,。这是怎么回事?

</body>

</html>


提问者:玄众妙 2019-05-27 16:10

个回答

  • 慕圣9339377
    2019-05-27 16:38:50

    这个问题很明显啊,一开始设置的是2000毫秒,然后i=5;然后i--,然后i==0了就结束了