setTimeout与setInterval区别

参考Mecry的博客,网址:http://www.cnblogs.com/mercy/articles/2424882.html

 function test(){      
    console.log("hello world!");
  }

var id=setTimeout(test,5000); //可以使用函数名test来作为参数,此时函数名不可以带参数
  //setTimeout("test()",2000); //可以使用字符串来作为参数,可以带参数
  clearTimeout(id);
  console.log("取消该setTimeout事件,此时该事件的ID="+id);
 
  //var id=window.setInterval(test,1000);
  //window.clearInterval(id);  //取消定时执行
 
  console.log("函数带参数的书写!");
  function testTwo(name){      
    console.log("hello world! "+name);
  }
  //window.setTimeout(testTwo("zhou"),3000);//此种写法,无法实现延迟效果,直接就执行了。
  //window.setTimeout("testTwo(\"zhou\")",3000); //可以实现延迟效果
 
  function testThree(name){  
      return function(){
          console.log("hello world! "+name);
      };
  }
  window.setTimeout(testThree("ma"),3000); //testThree("ma")被看成一个不带参数的函数,因为其返回就是
          //不带参数的函数function,故可以执行延迟效果



<body>
    <form action="#">
        <input type="text" value="0" name="txt1" />
        <input type="button" value="开始" name="btnStart" />
        <input type="button" value="重置" name="btnReset" />
    </form>
    <script type="text/javascript">
        console.log("秒表的工作展示:");
        //获取表单中的表单域
        var txt = document.forms[0].elements["txt1"];
        var btnStart = document.forms[0].elements["btnStart"];
        var btnReset = document.forms[0].elements["btnReset"];
        console.log(txt.value+"  "+btnStart.value+" "+btnReset.value);
        //定义定时器的id
        var id;
        //每10毫秒该值增加1
        var seed = 0;
        btnStart.onclick = function() {
            //根据按钮文本来判断当前操作      
            if (this.value == "开始") {
                //使按钮文本变为停止              
                this.value = "停止";
                //使重置按钮不可用              
                btnReset.disabled = true;
                //设置定时器,每0.01s跳一次              
                id = window.setInterval(tip, 10);
            }else {
                //使按钮文本变为开始              
                this.value = "开始";
                //使重置按钮可用              
                btnReset.disabled = false;
                //取消定时              
                window.clearInterval(id);
            }
        };
        //重置按钮
        btnReset.onclick = function() {
            seed = 0;
            txt.value=seed;
        };
        //让秒表跳一格
        function tip() {
            seed++;
            txt.value = seed / 100;
        }
    </script>
</body>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值