计时器

本文介绍了如何使用JavaScript的setInterval和setTimeout方法创建计时器。内容包括从start到end每隔100毫秒输出数字,以及如何设计带有cancel方法的计时器。讨论了setInterval和setTimeout的参数格式、工作原理以及如何使用clearInterval和clearTimeout来停止定时操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

 

 

 

题目描述

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

 

 

知识点:

setinterval()是定时调用的函数,可按照指定的周期(以毫秒计)来调用函数或计算表达式。setinterval()的作用是在播放动画的时,每隔一定时间就调用函数,方法或对象。setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval()返回的ID值可用作clearInterval() 方法的参数。 setInterval动作的语法格式如下:

 

 

setInterval(function,interval[,arg1,arg2,......argn])
setInterval(object,methodName,interval[,arg1,arg2,.....argn])

 

后面就两个参数code是你的js代码,millisec为时间间隔,以毫秒计。第一种格式是标准动作面板中setInterval函数的默认语法,第二种格式是在专家模式动作中使用的方法。其中的参数function是一个函数名或者一个对匿名函数的引用。object参数指定从Object对象派生的对象。methodName制定 object参数中要调用的方法。

 

用clearinterval命令让setinterval停下来

时间间隔可以用 setInterval 命令来创建并用 clearInterval 命令来终止。setInterval 所用的参数有两种格式。在第一种格式中,你传递给 setInterval 的参数可以是一个函数名,一段时间上的间隔以及一些传递给前面函数的相关参数。当 setInterval 运行时它会依照规定的时间间隔依次将列出的参数传递给指定的函数,直到你调用 clearInterval 将其终止。

 

 

1.用setInterval

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

}

 

 

 

2.用setTimeout

 

知识点:

setTimeout

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

语法: setTimeout(code,millisec)  

参数: code (必需):要调用的函数后要执行的 JavaScript 代码串。millisec(必需):在执行代码前需等待的毫秒数。  

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

 

 

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

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值