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;
        
    }

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

  • 相关阅读:
    mvc edmx 的config文件
    Openwrt安装软件的方法
    如何用JQuery实现单元格 循环变背景色
    Vue的生命周期
    hmtl弹出框样式
    在星巴克买咖啡思考技术团队的管理
    RealTimePerformanceDemoView
    《SAAS创业指南》拆书笔记——产品打磨和商业模式初步验证
    基于日志的回放对比系统设计
    异常测试-中间件故障演练
  • 原文地址:https://www.cnblogs.com/WildSky/p/11025211.html
Copyright © 2011-2022 走看看