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

重新建设网站的申请报告不用fash做的视频网站

重新建设网站的申请报告,不用fash做的视频网站,腾讯微博做网站外链步骤,做ppt好的模板下载网站有哪些内容宏任务微任务一、为什么JS是单线程语言?二、JS是单线程,怎样执行异步代码?1、JS是单线程语言 2、JS代码执行流程,同步执行完,再进行事件循环(微任务、宏任务) 3、清空所有的微任务,再…

宏任务微任务

  • 一、为什么JS是单线程语言?
  • 二、JS是单线程,怎样执行异步代码?

1、JS是单线程语言
2、JS代码执行流程,同步执行完,再进行事件循环(微任务、宏任务) 3、清空所有的微任务,再执行宏任务
4、微任务:Promise.then 5、宏任务:setTimeout

事件循环:微任务、宏任务

向服务器发送的请求、定时器、事件 都会进入事件循环

一、为什么JS是单线程语言?

JS语言的一大特点就是单线程,也就是说,同一时间只能做一件事,那么,JS为什么不能有多个线程呢?这样能提高效率啊。

JS的单线程,与它的用途有关,作为浏览器脚本语言,JS的主要用途是与用户互动,以及操作DOM,这决定了它只能是单线程,否则会带来很复杂的同步问题,比如,假定JS同时有两个线程,一个线程在某个DOM节点上添加内容,另一个线程删除了这个节点,这时浏览器应该以哪个线程为准?

所以,为了避免复杂性,从一诞生,JS就是单线程,这已经成为了这门语言的核心特征,将来也不会改变。

二、JS是单线程,怎样执行异步代码?

单线程就意味着,所有任务需要排队,前一个任务结束,才会执行后一个任务,如果前一个任务耗时很长,后一个任务就不得不一直等着。

消息队列:消息队列是一个先进先出的队列,它里面存放着各种消息
事件循环:事件循环是指主线程重复从消息队列中取消息,执行的过程。

实际上,主线程只会做一件事,就是从消息队列里取消息,执行消息,再取消息,再执行,当消息队列为空时,就会等待直到消息队列变成非空,而且主线程只有在将当前的消息执行完后,才会去取下一个消息,这种机制就叫做事件循环机制,取一个消息并执行


题目:

在这里插入图片描述

答案:
3
3
3

分析:
1、for循环进入同步任务
2、setTimeout进入事件循环
3、先执行同步任务,执行完同步,执行事件循环

所以: for循环里面的i到3了,才开始执行定时器里面的打印,三个输出都是3


题目:

在这里插入图片描述

答案:
1 promise 1
2
微1
微2
1

分析:
同步任务:Promise内部、console.log(2)
微任务:Promise.then
宏任务:setTimeout
先执行同步去任务 :
1、Promise内部的:1 promise 1
2、console.log(2)的:2
进入事件循环,先执行微任务:
Promise.then里面的:微1、微2
再执行宏任务:
console.log(1): 1

http://www.yayakq.cn/news/579474/

相关文章:

  • 茂名网站建设电话南安淘宝网站建设
  • 网站开发平台的定义网站建设 域名 管理
  • 重庆网站备案需要几天网站站内搜索制作
  • 最好的书籍设计网站上海小程序设计
  • 电子商务网站开发要学什么个人网站赏析
  • html5网站有哪些网络营销八大职能
  • 如何做网络集资网站如何制作产品网站模板下载地址
  • 做专业网站宣讲家网站李慎明两学一做
  • wordpress插件后台慢seo优化软件哪个最好用
  • 网站开发总结与未来展望wordpress 转移文章
  • 宝安区建设交易网站官方网站怎么推广
  • 义乌网站建设推广专家海南网站制作多少钱
  • 私人为别人做网站违法问题昆明做网站的
  • 沈阳建设工程信息网浑南新区资源网站排名优化seo
  • 大连网站建设方法北京seo网站内部优化
  • html5开发的网站镇江有哪些网站
  • 织梦网站首页目录在哪里做牙的网站叫什么
  • 佛山智能模板建站php 7.0 wordpress
  • 阿坝北京网站建设仿视频网站开发
  • 北京做网站公司推荐东莞凌峰建设公司
  • 如何在网站后台找到死链接做网站还 淘宝
  • 旅游网站排名榜杭州物联网前十名公司
  • 常州哪些网站公司做的好专门做茶叶的网站
  • 西安企业建站素材企业营销型网站公司
  • 沈阳做网站的设计公司哪家好七牛部署WordPress
  • 网站标题导航栏建程网的工程好拿钱吗
  • 网站设计制作体会域名注册平台的网站怎么做
  • 公司做影视网站侵权建设门户网站请示
  • 湖北省建设厅质监站网站wordpress绑定二级域名
  • 制作一个网站首页188网站开发