HTML——js设置计时器和清除计时器的方法
js中的计时器
1、setTimeout计时器
setTimeout(要执行的方法,时间单位 (毫秒))
这里的执行方法通常是匿名函数(函数=方法)
setTimeout(function () {console.log('我是setTimeout计时器')
}, 2000)
setTimeout()
意思:多少秒后执行函数,这里的意思就是:2秒后将在控制台打印“我是setTimeout计时器”
2、setInterval计时器
setInterval(要执行的方法,时间单位 (毫秒))
这里的执行方法通常是箭头函数
setInterval(() => {console.log('我是setInterval计时器')
}, 2000);
setInterval()
意思:每隔多少秒执行函数,这里的意思就是:每隔2秒,将在控制台打印“我是setInterval计时器”
两者区别:setTimeout里的函数只会被执行一次,而setInterval里的函数会每隔多少秒执行一次。
需要注意:两者括号里面的第二个值,单位都是毫秒,1s=1000ms(1秒=1000毫秒),其他时间以此类推。
如何中止计时器(清除计时器)呢?
clearInterval()
clearInterval(清除哪一个计时器)
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<button onclick="myClick()">点击开始</button>
<button onclick="mystop()">点击停止</button><button onclick="myinterval()">点击开始interval</button>
<button onclick="mystopinterval()">点击停止interval</button><body><script>// 计时器// setTimeout(要执行的方法,时间单位 毫秒)let timefunction myClick() {// setTimeout(myFun(), 3000)time = setTimeout(function () {console.log('我也会执行')}, 2000)}// function myFun() {// return function () {// console.log('我是返回的函数')// }// }function mystop() {// clearTimeout(哪一个timeout)clearTimeout(time)}//清除setInterval计时器let num = 0function sum() {console.log(num++)}let myinter //声明一个变量的去装setInterval()function myinterval() {myinter = setInterval(() => {sum()}, 2000);//每隔2秒sum()函数会被执行 即每隔2秒会num++,执行的尽头通常是无止境的(不关闭浏览器,除了清除计时器)}function mystopinterval() {clearInterval(myinter)}</script>
</body>
</html>
为啥要声明一个变量去装setInterval() (下面的代码块1),而不直接(下面的代码块2)?
代码块1:
//清除setInterval计时器
let num = 0
function sum() {console.log(num++)
}
let myinter //声明一个变量的去装setInterval()
function myinterval() {myinter = setInterval(() => {sum()}, 2000);//每隔2秒sum()函数会被执行 即每隔2秒会num++,执行的尽头通常是无止境的(不关闭浏览器,除了清除计时器)
}
function mystopinterval() {clearInterval(myinter)
}
代码块2:
//清除setInterval计时器
let num = 0
function sum() {console.log(num++)
}
function myinterval() {setInterval(() => {sum()}, 2000);//每隔2秒sum()函数会被执行 即每隔2秒会num++,执行的尽头通常是无止境的(不关闭浏览器,除了清除计时器)
}
function mystopinterval() {clearInterval( setInterval(() => { sum()}, 2000);)
}
函数是引用数据类型,引用数据类型在栈内存里(用于存放地址,用的时候去取),而实际函数体是在堆内存里,就是实际存放的东西。
而代码块2只是清除了栈内存里的,而没有清除堆内存里的
所以需要一个变量去装计时器的东西,清除时候只需在clearInterval()
这个括号里写这个变量就可以清除掉了。
纸上来得终觉浅,绝知此事要躬行,自己试一试吧。
HTML——js设置计时器和清除计时器的方法相关推荐
- android h5app息屏定时器,H5案例分享:JS设置定时器和清除定时器
JS设置定时器和清除定时器 在做项目中难免会碰到需要实时刷新,动画依次出现等等需求,这时候就需要定时器登上我们的代码舞台了,所以今天我们就先来了解一下JS定时器的设置和清除吧. 一.启用定时器 win ...
- html清空计时器,js设置定时器和清除定时器
一.前言 在前端,我们有很多功能需要用到定时器.譬如轮询,譬如定时关闭弹框,譬如实现秒表,譬如一段时间后跳转页面等等.因此,我们需要掌握定时器的用法. 二.设置定时器 目前window对象提供有两个方 ...
- JS 设置定时器和清除定时器
在做项目中难免会碰到需要实时刷新,动画依次出现等等需求,这时候就需要定时器登上我们的代码舞台了,所以今天我们就先来了解一下JS定时器的设置和清除吧. 一.启用定时器 window对象提供了两个方法来实 ...
- JS设置定时器和清除定时器
最近在项目中频繁运用到js定时器,现在和大家分享一下方法.在前端开发的过程中,有些时候需要某段程序等待一段时间后再开始执行,在JavaScript中主要通过定时器实现这一类需求. JS的两种定时器 w ...
- 解决每次上线更新文件需要手动清除缓存的问题-------js 、css自动清除浏览器缓存方法
说明 1.分享页更新后,浏览器总是有缓存,须手动清理才能加载修改后的CSS和JS,故在加载地址后动态添加一个随机数(或时间戳)来确保每次加载的文件都不同来消除缓存. 2.在加载js文件时,被加载js文 ...
- js获取和设置DIV元素class值的方法
web页面中,利用js动态的改变div元素的class属性的值,可以实现很多的动态效果.比如动态修改div元素的背景颜色,改变字体的颜色等等.这篇文章就来说一说,javascript 如何获取和设置d ...
- js获取classname值_js获取和设置DIV元素class值的方法
web页面中,利用js动态的改变div元素的class属性的值,可以实现很多的动态效果.比如动态修改div元素的背景颜色,改变字体的颜色等等.这篇文章就来说一说,javascript 如何获取和设置d ...
- js 计时器无法清除是为什么
js 计时器无法清除是为什么 js 计时器无法清除?啊这... 当你定义了一个计时器,第一次清除--成功了,第二次.第三次--失败了 其实并不是计时器无法清除,只是因为你的清除手段有限,你应该检查一下 ...
- html 清除计时器 bug,js 计时器无法清除是为什么
1.代码下方.简短说就是两个计时器让 div 向左或向右移动:两个button控制向左或向右的事件:当其中一个button按下时,设想让另一个button的计时器清除掉,通过function的形参判断 ...
最新文章
- JEECG支付宝服务窗开发培训视频
- APUE(第七章)进程环境
- python黑科技库:FuckIt.py,让你代码从此远离bug
- Confluence 6 有关空间的一些提示
- 首席数据官成为企业转型中的重要角色之一
- LeetCode Count Numbers with Unique Digits(计数问题)
- jquery之图片懒加载(总结)
- python某行某列读取数据_使用scrpython从某行的第一列提取数据
- 老员工恳请加薪,老板“不愿意做就辞职”
- mysql函数做条件_MySQL语句优化(三):避免条件字段做函数操作
- 并发编程之多线程基础-Thread和Runnable的区别及联系(二)
- SharePoint Designer - View
- 在Android Studio 和 Eclipse 的 git 插件操作 代码提交以及代码冲突
- javascript div z-index, input tabindex属性说明
- hexo添加_hexo 添加标签和分类
- 将有道云词典单词本导入到墨墨背单词
- 新闻抓取门道全面解析
- Android Gatekeeper梳理
- 【总结】DeepCTR如何构建模型
- 定时器:setTimeout()