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

setTimeout不是触发一次吗。为什么这个代码会计时呢

<!DOCTYPE html>

<html>

<head>

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

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

</head>


<body>

<h4>操作成功</h4>

<span id='second'></span> 秒后回到主页 <a href="javascript:backup();">返回</a>

<script type="text/javascript">  

    var num=5

    function startCount() {

        if(num==0)

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

        document.getElementById("second").innerHTML=num;

        num--;

    setTimeout("startCount()",1000); 

    }

    function backup() {

        window.history.back();

    }

    startCount()

</script> 

</body>

</html>


答案里看到这个代码。没弄懂为什么它会自动倒计时。它不是用的setTimeout只能触发一次吗。按理说应该是从5减到4就不动了吧,还有最后为什么要单独写一个    startCount()   意义何在

提问者:冰镇甜豆浆1 2016-01-22 01:02

个回答

  • 冰镇甜豆浆1
    2016-01-22 01:10:20

    第一个问题我懂了。。因为  setTimeout("startCount()",1000); 写在function startCount里面所以循环了。可是为什么最后一行单独写一个 startCount()   啊