要求:(题源:牛客网在线编程)

1)、从 start 到 end(包含 start 和 end),每隔 100 毫秒 console.log 一个数字,每次数字增幅为 1

2)、返回的对象中需要包含一个 cancel 方法,用于停止定时操作

3)、第一个数需要立即输出

实现法一(setTimeout()方法):

function count(start, end) {if(start <= end){console.log(start++);st = setTimeout(function(){count(start, end)}, 100);}return {cancel: function(){clearTimeout(st);}}
}

setTimeout()方法用于在指定的毫秒数后调用函数或计算表达式。

语法:setTimeout(code, millisec)

注意:setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。

实现法二(setInterval()方法):

function count(start, end) {console.log(start++);var timer = setInterval(function () {if (start <= end) {console.log(start++)} }, 100);return {cancel: function () {clearInterval(timer)}}
}

setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。

语法:setInterval(code ,millisec[,"lang"])

setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

注意:两个方法的第一个参数可以是字符串,也可以是函数

(1)如果是字符串, 则参数是 要执行的javascript代码串(加双引号), 当 作普通javascript语句执行即可 。 和eval()差不多,执行的环境是全局,所以不能访问函数作用域的变量。

(2)如果是函数(有括弧),则参数是该函数 (不加双引号) 的返回值,即真正执行的是其返回值,作用是【数值传递】。若返回值是另一个函数对象X,则执行的是函数X里的内容;若函数没定义返回值时值为undefined,或返回值为非函数对象,则无任何执行操作。

(3)如果是函数名(无括弧),则参数是该函数对象 (不加双引号) 本身,即真正执行的就是函数中的语句,且与返回值无关,作用是【函数调用】。通过”function() { xxx(argv); }”还能访问该函数作用域链上的变量。

JS实现一个打点计时器相关推荐

  1. 使用Node.js写一个简单的api接口

    引入Http模块 默认你已经安装了Node.js Node当中内置了Http模块: 可以使用 var http= require("http"); 复制代码 引入http模块: H ...

  2. 使用 ale.js 制作一个小而美的表格编辑器(2)

    今天来教大家如何使用 ale.js 制作一个小而美的表格编辑器,首先先上 gif: 是不是还是有一点非常 cool 的感觉的?那么我们现在开始吧! 这是我们这篇文章结束后完成的效果(如果想继续完成请访 ...

  3. 【Part2】用JS写一个Blog (node + vue + mongoDB)

    [Part1]用JS写一个Blog (node + vue + mongoDB) 上一节前后端项目分别初始化完成,这一小节我就从后端项目开始写.实现mongoDB数据库的连接. 整理后端目录 下面是通 ...

  4. 用 JS 做一个数独游戏(二)

    用 JS 做一个数独游戏(二) 在 上一篇博客 中,我们通过 Node 运行了我们的 JavaScript 代码,在控制台中打印出来生成好的数独终盘.为了让我们的数独游戏能有良好的体验,这篇博客将会为 ...

  5. 使用 ale.js 制作一个小而美的表格编辑器(3)

    今天来教大家如何使用 ale.js 制作一个小而美的表格编辑器,首先先上 gif: 是不是还是有一点非常 cool 的感觉的?那么我们现在开始吧! 这是我们这篇文章结束后完成的效果(如果想继续完成请访 ...

  6. Netflix发布Polly.JS,一个用于HTTP交互的开源库

    Netflix最近发布了Polly.JS,一个用于记录.重放和模拟HTTP交互的开源库. \\ Polly利原生机浏览器API来模拟请求和响应,以便减少配置工作,为开发人员提供一种管理HTTP请求的机 ...

  7. video.min.js php,使用flv.js与video.js做一个视频直播效果

    这次给大家带来使用flv.js与video.js做一个视频直播效果,使用flv.js与video.js做出视频直播效果的注意事项有哪些,下面就是实战案例,一起来看一下. 环境配置 首先运行livego ...

  8. 用JS实现一个定时间段的跳转

    用JS实现一个定时间段的跳转 常见的定时跳转就是说指某个时间比如30分钟或30秒进行页面跳转 但实现我们工作常见的就是某个活动往往是周末或节假日才开始,这时不可能有人守着帮你跳转页面(而且涉及的页面会 ...

  9. 用Backbone.js创建一个联系人管理系统(一)

    原文 Build a Contacts Manager Using Backbone.js: Part 1 在这个教程里我们将会使用Backbone.js,Underscore.js,JQuery创建 ...

  10. 用JS制作一个信息管理平台完整版

      前  言 JRedu 在之前的文章中,介绍了如何用JS制作一个实用的信息管理平台. 但是那样的平台功能过于简陋了,我们今天来继续完善一下. 首先我们回顾一下之前的内容.   1.JSON的基础知识 ...

最新文章

  1. 如何提升微服务的幸福感
  2. python 在内存中读写:StringIO / BytesIO
  3. ObjectOutputStream 和 ObjectInputStream的使用
  4. 玩转springboot入门配置yml单元测试文件获取值
  5. mysql导入向导,SQL Server--导入和导出向导
  6. 10分钟零基础带你入门Ribbon小项目-啥?小白都能看懂?
  7. java线程并发库之--线程同步工具Exchanger的使用
  8. STM32CubeMX使用方法及功能介绍
  9. TCP/IP , HTTP Protocol
  10. Facebook跟踪用户手机地理位置 并借此推介朋友
  11. c语言数字分解一个数,关于一道分解整数为N个连数整数的编程题
  12. 如何找出 Mac 上两个文档之间的差异?
  13. swift拖放的按钮如何在后台设置点击事件 www.cnblogs.com/foxting/p/SWIFT.html
  14. 《未来简史》读书笔记
  15. WinRAR 5.60 无广告正式版
  16. gulp-livereload组件使用
  17. C语言————输出It‘s a computer中的computer
  18. 获取svg和svg内容的方法
  19. SLAM学习笔记(二十)LIO-SAM流程及代码详解(最全)
  20. torch编程-加载预训练权重-模型冻结-解耦-梯度不反传

热门文章

  1. Java 判断输入的是否为元音字母
  2. Android蓝牙通讯
  3. 机顶盒利旧改造,实现安卓和Linux双系统启动
  4. win8 安装双系统 ubuntu 过程
  5. mysql 主从1236_mysql主从复制1236错误
  6. 批量将txt文件转为csv文件
  7. 如何批量下载知乎回答图片
  8. C++ “system“的详解
  9. 汇客huikeCRM项目实战-牛刀小试
  10. Update 语法全介绍