JS实现一个打点计时器
要求:(题源:牛客网在线编程)
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实现一个打点计时器相关推荐
- 使用Node.js写一个简单的api接口
引入Http模块 默认你已经安装了Node.js Node当中内置了Http模块: 可以使用 var http= require("http"); 复制代码 引入http模块: H ...
- 使用 ale.js 制作一个小而美的表格编辑器(2)
今天来教大家如何使用 ale.js 制作一个小而美的表格编辑器,首先先上 gif: 是不是还是有一点非常 cool 的感觉的?那么我们现在开始吧! 这是我们这篇文章结束后完成的效果(如果想继续完成请访 ...
- 【Part2】用JS写一个Blog (node + vue + mongoDB)
[Part1]用JS写一个Blog (node + vue + mongoDB) 上一节前后端项目分别初始化完成,这一小节我就从后端项目开始写.实现mongoDB数据库的连接. 整理后端目录 下面是通 ...
- 用 JS 做一个数独游戏(二)
用 JS 做一个数独游戏(二) 在 上一篇博客 中,我们通过 Node 运行了我们的 JavaScript 代码,在控制台中打印出来生成好的数独终盘.为了让我们的数独游戏能有良好的体验,这篇博客将会为 ...
- 使用 ale.js 制作一个小而美的表格编辑器(3)
今天来教大家如何使用 ale.js 制作一个小而美的表格编辑器,首先先上 gif: 是不是还是有一点非常 cool 的感觉的?那么我们现在开始吧! 这是我们这篇文章结束后完成的效果(如果想继续完成请访 ...
- Netflix发布Polly.JS,一个用于HTTP交互的开源库
Netflix最近发布了Polly.JS,一个用于记录.重放和模拟HTTP交互的开源库. \\ Polly利原生机浏览器API来模拟请求和响应,以便减少配置工作,为开发人员提供一种管理HTTP请求的机 ...
- video.min.js php,使用flv.js与video.js做一个视频直播效果
这次给大家带来使用flv.js与video.js做一个视频直播效果,使用flv.js与video.js做出视频直播效果的注意事项有哪些,下面就是实战案例,一起来看一下. 环境配置 首先运行livego ...
- 用JS实现一个定时间段的跳转
用JS实现一个定时间段的跳转 常见的定时跳转就是说指某个时间比如30分钟或30秒进行页面跳转 但实现我们工作常见的就是某个活动往往是周末或节假日才开始,这时不可能有人守着帮你跳转页面(而且涉及的页面会 ...
- 用Backbone.js创建一个联系人管理系统(一)
原文 Build a Contacts Manager Using Backbone.js: Part 1 在这个教程里我们将会使用Backbone.js,Underscore.js,JQuery创建 ...
- 用JS制作一个信息管理平台完整版
前 言 JRedu 在之前的文章中,介绍了如何用JS制作一个实用的信息管理平台. 但是那样的平台功能过于简陋了,我们今天来继续完善一下. 首先我们回顾一下之前的内容. 1.JSON的基础知识 ...
最新文章
- 如何提升微服务的幸福感
- python 在内存中读写:StringIO / BytesIO
- ObjectOutputStream 和 ObjectInputStream的使用
- 玩转springboot入门配置yml单元测试文件获取值
- mysql导入向导,SQL Server--导入和导出向导
- 10分钟零基础带你入门Ribbon小项目-啥?小白都能看懂?
- java线程并发库之--线程同步工具Exchanger的使用
- STM32CubeMX使用方法及功能介绍
- TCP/IP , HTTP Protocol
- Facebook跟踪用户手机地理位置 并借此推介朋友
- c语言数字分解一个数,关于一道分解整数为N个连数整数的编程题
- 如何找出 Mac 上两个文档之间的差异?
- swift拖放的按钮如何在后台设置点击事件 www.cnblogs.com/foxting/p/SWIFT.html
- 《未来简史》读书笔记
- WinRAR 5.60 无广告正式版
- gulp-livereload组件使用
- C语言————输出It‘s a computer中的computer
- 获取svg和svg内容的方法
- SLAM学习笔记(二十)LIO-SAM流程及代码详解(最全)
- torch编程-加载预训练权重-模型冻结-解耦-梯度不反传