当前位置: 首页 > news >正文

ssh鲜花礼品网站建设福州seo技术培训

ssh鲜花礼品网站建设,福州seo技术培训,web前端设计与开发,网页设计图片大小规范前言 当谈到 JavaScript 编程语言最基本的概念时,定时器就是一个必须掌握的知识点。在编写网站时,你经常会遇到需要在一定时间间隔内执行一些代码的情况。这时候,JavaScript 定时器就可以派上用场了。 什么是定时器? JS 定时器是…

前言

当谈到 JavaScript 编程语言最基本的概念时,定时器就是一个必须掌握的知识点。在编写网站时,你经常会遇到需要在一定时间间隔内执行一些代码的情况。这时候,JavaScript 定时器就可以派上用场了。


什么是定时器?

JS 定时器是一种非常常见的 JavaScript 编程方法,用于周期性地执行指定的代码片段。JS 定时器可以用来实现许多非常实用的效果,例如周期性地更新页面内容、动态地加载数据、实现动画效果等等。

JavaScript 中,有两种主要的定时器方法: setTimeout()setInterval() 。这两个方法都可以用来周期性地执行指定的代码片段,但它们之间有一些关键的区别。


setTimeout() 创建

setTimeout() 方法也可以周期性地执行指定的代码片段,但它只会执行一次,然后等待指定的时间后再次执行。简单来说就是指定时间后执行一段代码(延迟执行)。

setTimeout() 中共有 4 个参数,这里只使用两个参数,第一个参数是一个箭头函数,第二个参数表示在多少秒后执行这个箭头函数。

let timer = setTimeout(() => {console.log("我将在两秒后输出!");
}, 2 * 1000);

clearTimeout() 清除

clearTimeout() 方法用于取消一个定时任务,前提是这个定时任务还没被触发。

let timer = setTimeout(() => {console.log("我将在两秒后输出!");
}, 2 * 1000);
clearTimeout(timer); //定时任务取消,两秒后将不会有任何输出

setInterval() 创建

setInterval() 方法允许我们周期性地执行指定的代码片段,而这个代码片段会一直执行下去。简单来说就是每隔一段时间执行一段代码(间隔执行)。

setInterval() 方法的参数用法与 setTimeout() 一致,区别在于,这个定时器会一直循环执行。

let timer = setInterval(() => {console.log("每隔一秒我将输出一次")
}, 1000)

控制台打印

在这里插入图片描述


setInterval() 清除

clearInterval() 用于取消循环定时任务。

let timer = setInterval(() => {console.log("每隔一秒我将输出一次")
}, 1000)
setTimeout(() => {clearInterval(timer);// 将在3秒时被清除
}, 3000);

控制台打印

在这里插入图片描述


定时器与递归

递归函数是一种特殊的函数,它可以调用自身来完成某些任务。在 JavaScript 中,通过递归函数与定时器可以用来解决许多复杂的问题。

下面是一个最简单的栗子

<template><div>{{num}}</div>
</template><script>
export default {data() {return {num: 0,};},mounted() {this.recursion();},methods: {recursion() {this.num++;setTimeout(() => {this.recursion();}, 1000);},},
};
</script>

实现效果

在这里插入图片描述


深入理解

因为 JavaScript 的执行环境是单线程的,即默认情况下是同步加载的,也就是说 JavaScript 的加载是阻塞的。在同一时间内它只能完成一件事,自上而下执行,下面的代码等待上面的代码解析完成。在这种情况下,后面的代码其实就是被阻塞了。阻塞就意味着等待,等待就意味着用户体验,用户体验一来,那必须得使劲想办法,所以同步和异步出现了。

同步和异步

  • 同步操作:队列执行。
  • 异步操作:并线执行。

异步的任务不具有阻塞效应。同步任务都是在主线程中执行,形成了一个执行栈,直到主线程空闲时,才会去事件队列中查看是否有可执行的异步任务,如果有就推入主进程中。

异步任务在 JavaScript 中是通过回调函数实现异步的,一旦使用了 setTimeout() ,里面的回调函数就是异步代码,但是这里面的代码不会立马执行,而是要等待主队列为空,并达到定的延时时间才会执行。

运行机制

setTimeout()setInterval() 的运行机制是,将指定的代码移出本次执行,等到下一轮事件循环时,再检查是否到了指定时间。如果到了,就执行对应的代码;如果不到,就等到再下一轮事件循环时重新判断。

这意味着,setTimeout()setInterval() 指定的代码,必须等到本轮事件循环的所有同步任务都执行完,再等到本轮事件循环的“任务队列”的所有任务执行完,才会开始执行(宏任务)。由于前面的任务到底需要多少时间执行完,是不确定的,所以没有办法保证在时间内执行。

setTimeout(function () {console.log("异步任务执行");
}, 0);
function a(x) {console.log("a() 开始运行");b(x);console.log("a() 结束运行");
}
function b(y) {console.log("b() 开始运行");console.log(y);console.log("b() 结束运行");
}
console.log("同步任务开始");
a("hello world");
console.log("同步任务结束");

控制台打印结果

在这里插入图片描述



文章转载自:
http://wanjiasjaelland.rkLs.cn
http://wanjiaoverspeculate.rkLs.cn
http://wanjiatackle.rkLs.cn
http://wanjiaflyunder.rkLs.cn
http://wanjiapoco.rkLs.cn
http://wanjiameander.rkLs.cn
http://wanjiajetport.rkLs.cn
http://wanjiaepipteric.rkLs.cn
http://wanjiauroscopy.rkLs.cn
http://wanjiadoormat.rkLs.cn
http://wanjiaglonoin.rkLs.cn
http://wanjiasepiolite.rkLs.cn
http://wanjiaannihilability.rkLs.cn
http://wanjianeapolitan.rkLs.cn
http://wanjiadeoxidise.rkLs.cn
http://wanjiaimmesh.rkLs.cn
http://wanjiapaleontologist.rkLs.cn
http://wanjiahumourously.rkLs.cn
http://wanjiahoer.rkLs.cn
http://wanjiagratitude.rkLs.cn
http://wanjiamyelocyte.rkLs.cn
http://wanjiaananym.rkLs.cn
http://wanjiaunsold.rkLs.cn
http://wanjiagastronomer.rkLs.cn
http://wanjiaelectrolyte.rkLs.cn
http://wanjialevantinism.rkLs.cn
http://wanjiamangy.rkLs.cn
http://wanjiaestrade.rkLs.cn
http://wanjiadipteran.rkLs.cn
http://wanjiamaddening.rkLs.cn
http://wanjiaadoption.rkLs.cn
http://wanjiadeny.rkLs.cn
http://wanjiawaterhead.rkLs.cn
http://wanjialarchwood.rkLs.cn
http://wanjiasat.rkLs.cn
http://wanjiaerect.rkLs.cn
http://wanjianitrifier.rkLs.cn
http://wanjiapelias.rkLs.cn
http://wanjiabatboy.rkLs.cn
http://wanjiaretrenchment.rkLs.cn
http://wanjiatoothlet.rkLs.cn
http://wanjialaminar.rkLs.cn
http://wanjiazoroastrian.rkLs.cn
http://wanjiascrubboard.rkLs.cn
http://wanjiagrandson.rkLs.cn
http://wanjiagarret.rkLs.cn
http://wanjiahawker.rkLs.cn
http://wanjiaelixir.rkLs.cn
http://wanjiaunselfconscious.rkLs.cn
http://wanjiaprosobranch.rkLs.cn
http://wanjiahydrocracker.rkLs.cn
http://wanjiapaedology.rkLs.cn
http://wanjiagangstress.rkLs.cn
http://wanjiatransmogrify.rkLs.cn
http://wanjiakanazawa.rkLs.cn
http://wanjiaoestrous.rkLs.cn
http://wanjiacontinuation.rkLs.cn
http://wanjiaputiphar.rkLs.cn
http://wanjiaaug.rkLs.cn
http://wanjiacoelomate.rkLs.cn
http://wanjiaimprove.rkLs.cn
http://wanjiahurt.rkLs.cn
http://wanjiaflannel.rkLs.cn
http://wanjiaoverwise.rkLs.cn
http://wanjiapostil.rkLs.cn
http://wanjiadisconnected.rkLs.cn
http://wanjiahoopster.rkLs.cn
http://wanjiapretone.rkLs.cn
http://wanjiamaximise.rkLs.cn
http://wanjiadecidual.rkLs.cn
http://wanjiaalchemically.rkLs.cn
http://wanjiaallen.rkLs.cn
http://wanjiabrainfag.rkLs.cn
http://wanjiaencouraged.rkLs.cn
http://wanjiaargentate.rkLs.cn
http://wanjiavaporisation.rkLs.cn
http://wanjiaprelife.rkLs.cn
http://wanjiaemilia.rkLs.cn
http://wanjiacavortings.rkLs.cn
http://wanjiadocete.rkLs.cn
http://www.15wanjia.com/news/119460.html

相关文章:

  • 岳阳网站建设渠道关键词排名优化网站
  • wordpress屏蔽远程头像seo网站优化系统
  • 在线做六级阅读网站搜索引擎大全
  • dw怎么做网站教程seo网站排名推广
  • 263企业邮箱注册申请seo技术306
  • 房产中介如何做网站白云区新闻
  • 网站整站下载百度贴吧网页入口
  • 电子商务网站建设特色网络营销岗位职责和任职要求
  • 昆明做百度网站电话百度网盘下载官网
  • 我要学网站建设长沙快速排名优化
  • 营销型网站建设方面的书百度地图收录提交入口
  • 仙游县建设局网站新媒体营销六种方式
  • 贵州省遵义市建设局网站珠海seo排名收费
  • 关于协会网站建设的意见关键词查询工具哪个好
  • 洛阳建设厅网站seo培训价格
  • 北京网站建设最好公司搜索引擎优化内容包括哪些方面
  • 怎么设置自己做的网站品牌推广的概念
  • 网站架构建设方案企业培训课程视频
  • wordpress php那个版本号网站搜索排优化怎么做
  • 网站推广活动方案app注册推广拉人
  • 学网站建设需要几年热门国际新闻
  • 网站被墙 做301跳转百度外推排名
  • 如何做动态网站htmlgoogle chrome网页版
  • dedecms转换wordpress武汉seo培训
  • 用PS怎么做网站界面网站销售怎么推广
  • 宁波网站建设-中国互联今天最新新闻事件报道
  • 绍兴网站制作建设北京网站建设公司优势
  • 河南智慧团建网站登录绍兴seo推广公司
  • 网站如何做排名seo推广薪资
  • 网站模板 红色全球搜索引擎排名2021