javaScript:快乐学习计时器

目录

一.前言

二.计时器

1.计时器的分类

[2. 创建计时器的方式](#2. 创建计时器的方式)

创建间隔计时器

创建方式三种

1.匿名函数

2.使用函数直接作为计时器的执行函数

2.使用函数直接作为计时器的执行函数,用字符串的形式写入

3.计时器的返回值

4.清除计时器

5.延迟计时器

相关代码


一.前言

在 JavaScript 中,计时器(Timer)是一种用于执行定时任务的机制。它允许你在指定的时间间隔执行代码或者在一定延迟后执行代码。JavaScript 提供了两种主要的计时器函数:setTimeout 和 setInterval。

二.计时器

1.计时器的分类

计时器分为两种

间隔计时器:设置每隔多久执行一次操作或者函数

延迟计时器:设置延迟多久才执行操作或者函数

2. 创建计时器的方式

创建间隔计时器

使用方法是 setInterval()

参数有两个

参数1:执行的函数

参数2:时间间隔,单位是ms,1s = 1000ms

javascript 复制代码
let num = 10
// 赛t in t 沃
let n = null
let timer
   n = setInterval(function(){
    num--
    time.innerHTML = num
    //清除计时器
    if (num <=0) {
        clearInterval(n)
    }
},1000)
console.log(n,num);

创建方式三种

1.匿名函数

setInterval(function(){

//code

},1000)

2.使用函数直接作为计时器的执行函数

function show(){}

setInterval(show,1000);

2.使用函数直接作为计时器的执行函数,用字符串的形式写入

function show(){}

setInterval('show()',1000);

3.计时器的返回值

计时器的返回值,返回值是当前浏览器分配给计时器的编号,谷歌从1开始火狐从2开始,edge是从1开始

4.清除计时器

清除计时器:

清除间隔计时器

clearInterval(计时器对应的编号)

javascript 复制代码
let num = 10
// 赛t in t 沃
let n = null
let timer
   n = setInterval(function(){
    num--
    time.innerHTML = num
    //清除计时器
    if (num <=0) {
        clearInterval(n)
    }
},1000)
console.log(n,num);

5.延迟计时器

延迟计时器

setTimeout(function(){

//code

},1000)

含义是1s之后再执行函数中的代码(执行一次就完了,一般不清除

清除延迟计时器,一般不清除

clearTimeout(计时器对应的编号)

javascript 复制代码
//延时计时器
btn.onclick = function(){
    setTimeout(function(){
        alert('计时器不好玩')
    },1000)
}

相关代码

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>计时器</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        #time{
            width: 200px;
            height: 30px;
            text-align: center;
            line-height: 30px;
            border: 1px #f00 solid;
            font-size: 20px;
        }
    </style>
</head>
<body>
    <p id="time">10</p>
    <button id="start">点击开始</button>
     <button id="stop1">点击停止倒计时</button>

     <button id="btn">点击一秒后弹出</button>
</body>
</html>
<script>
/*
计时器
1.属于BOM中的内容
2.计时器分为两种
     间隔计时器:设置每隔多久执行一次操作或者函数
     延迟计时器:设置延迟多久才执行操作或者函数
3.创建计时器的方式
     创建间隔计时器
     使用方法是 setInterval()
     参数有两个
     参数1:执行的函数
     参数2:时间间隔,单位是ms,1s = 1000ms

     创建方式三种
     1.匿名函数
     setInterval(function(){
          //code
     },1000)

     2.使用函数直接作为计时器的执行函数
     function show(){}
     setInterval(show,1000);
     
     2.使用函数直接作为计时器的执行函数,用字符串的形式写入
     function show(){}
     setInterval('show()',1000);
  

     计时器的返回值,返回值是当前浏览器分配给计时器的编号,谷歌从1开始
     火狐从2开始,edge是从1开始

     计时器函数里面的变量,属于局部变量,因此外面的操作不能直接操作计时器
     内部的变量,可以理解为外部的操作不会对计时器内部照成影响
     

     清除计时器: 
         清除间隔计时器
             clearInterval(计时器对应的编号)

    延迟计时器
       setInterval(function(){
          //code
     },1000)

     含义是1s之后再执行函数中的代码(执行一次就完了,一般不清除

     清除延迟计时器,一般不清除
     clearTimeout(计时器对应的编号)
*/ 
let num = 10
// 赛t in t 沃
let n = null
let timer
   n = setInterval(function(){
    num--
    time.innerHTML = num
    //清除计时器
    if (num <=0) {
        clearInterval(n)
    }
},1000)
console.log(n,num);



//点击停止倒计时
stop1.onclick = function(){
    clearInterval(n)
}

function show(){
    let r = Math.floor(Math.random()*256)
    let g= Math.floor(Math.random()*256)
    let b = Math.floor(Math.random()*256)
    time.style.background = `rgb(${r},${g},${b})`
}
start.onclick = function(){
    //在使用前先清除,防止计时器累计
    clearInterval(timer)
    timer = setInterval(show,1000)
}

//延时计时器
btn.onclick = function(){
    setTimeout(function(){
        alert('计时器不好玩')
    },1000)
}
</script>
相关推荐
workflower1 小时前
单元测试-例子
java·开发语言·算法·django·个人开发·结对编程
YuanlongWang1 小时前
C# 基础——装箱和拆箱
java·开发语言·c#
b78gb1 小时前
电商秒杀系统设计 Java+MySQL实现高并发库存管理与订单处理
java·开发语言·mysql
Y42582 小时前
本地多语言切换具体操作代码
前端·javascript·vue.js
LXS_3573 小时前
Day 05 C++ 入门 之 指针
开发语言·c++·笔记·学习方法·改行学it
fruge3 小时前
React 2025 完全指南:核心原理、实战技巧与性能优化
javascript·react.js·性能优化
MicroTech20253 小时前
微算法科技(MLGO)研发突破性低复杂度CFG算法,成功缓解边缘分裂学习中的掉队者问题
科技·学习·算法
etsuyou4 小时前
js前端this指向规则
开发语言·前端·javascript
shizhenshide4 小时前
为什么有时候 reCAPTCHA 通过率偏低,常见原因有哪些
开发语言·php·验证码·captcha·recaptcha·ezcaptcha
mit6.8245 小时前
[Agent可视化] 配置系统 | 实现AI模型切换 | 热重载机制 | fsnotify库(go)
开发语言·人工智能·golang