开发者社区> 问答> 正文

js 实现一个打点计时器

js 实现一个打点计时器 1、从 start 到 end(包含 start 和 end),每隔 100 毫秒 console.log 一个数字,每次数字增幅 1 2、返回的对象中需要包含一个 cancel 方法,用于停止定时操作 3、第一个数需要立即输出

展开
收起
kun坤 2019-11-28 13:52:14 1084 0
1 条回答
写回答
取消 提交回答
  • 答案:

    // 实现法一(setTimeout()方法):
    
    function count(start, end) {
      if (start <= end) {
        console.log(start++);
        st = setTimeout(function() {
          count(start, end);
        }, 100);
      }
      return {
        cancel: function() {
          clearTimeout(st);
        }
      };
    }
    count(1, 10);
    
    // 实现法二(setInterval()方法):
    
    function count(start, end) {
      console.log(start++);
      var timer = setInterval(function() {
        if (start <= end) {
          console.log(start++);
        }
      }, 100);
      return {
        cancel: function() {
          clearInterval(timer);
        }
      };
    }
    count(1, 10);
    

    知识点: setTimeout()方法用于在指定的毫秒数后调用函数或计算表达式。 语法:setTimeout(code, millisec) 注意:setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。

    setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。 语法:setInterval(code ,millisec[,"lang"]) setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

    2019-11-28 13:52:52
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
JavaScript面向对象的程序设计 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载