zoukankan      html  css  js  c++  java
  • 关于js里cleartimeout的疑惑

    1.发现这样写连时间都不会有

    <script>
    var flag = 0;
    function startTime(){
        clearTimeout(t);
        var today=new Date();
        var h=today.getHours();
        var m=today.getMinutes();
        var s=today.getSeconds();// 在小于10的数字前加一个‘0’
        m=checkTime(m);
        s=checkTime(s);
        document.getElementById('txt').innerHTML=h+":"+m+":"+s;
        t=setTimeout(function(){startTime()},1000);
        
    }
    function checkTime(i){
        if (i<10){
            i="0" + i;
        }
        return i;
    }
    </script>

    2.而这样子的话会停,但是会显示时间

    function startTime(){
        
        var today=new Date();
        var h=today.getHours();
        var m=today.getMinutes();
        var s=today.getSeconds();// 在小于10的数字前加一个‘0’
        m=checkTime(m);
        s=checkTime(s);
        document.getElementById('txt').innerHTML=h+":"+m+":"+s;
        clearTimeout(t);
        t=setTimeout(function(){startTime()},1000);
        
    }

    3.发现这样子的话时间不会停但是,cleartimeout会执行

    <script>
    var flag = 0;
    function startTime(){
        
        var today=new Date();
        var h=today.getHours();
        var m=today.getMinutes();
        var s=today.getSeconds();// 在小于10的数字前加一个‘0’
        m=checkTime(m);
        s=checkTime(s);
        document.getElementById('txt').innerHTML=h+":"+m+":"+s;
        t=setTimeout(function(){startTime()},1000);
    }
    function checkTime(i){
        if (i<10){
            i="0" + i;
            if (flag > 2 )
            clearTimeout(t);
            flag += 1;
        }
        return i;
    }
    </script>

    4.结合3,这样写的话会停止执行代码

    <script>
    var flag = 0;
    function startTime(){
        t=setTimeout(function(){startTime()},1000);
        var today=new Date();
        var h=today.getHours();
        var m=today.getMinutes();
        var s=today.getSeconds();// 在小于10的数字前加一个‘0’
        m=checkTime(m);
        s=checkTime(s);
        document.getElementById('txt').innerHTML=h+":"+m+":"+s;
        
    }

    以上问题很是疑惑,希望能随着知识的增加而解决吧

  • 相关阅读:
    angular学习(五)-- Module
    angular学习(四)-- Controller
    angular学习(三)-- $scope
    angular学习(二)-- Directive
    实用css小技巧
    Windows下WebStorm使用SVN(转)
    接口和转码,禁止百度转码
    RGB网页颜色在线取色器
    Java操作Excel文件导入
    设置某指定gridcolumn不可排序:
  • 原文地址:https://www.cnblogs.com/WildSky/p/11025211.html
Copyright © 2011-2022 走看看