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

开展门户网站建设一级域名好还是二级域名好

开展门户网站建设,一级域名好还是二级域名好,wordpress怎么建网店,网站前台设计一、JS是单线程JS语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。这是JS这门脚本语言诞生的使命所致——用来处理页面中用户的交互,以及操作DOM而诞生的。单线程就意味着,所有任务需要排队,前一个任务结束…

一、JS是单线程

JS语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。这是JS这门脚本语言诞生的使命所致——用来处理页面中用户的交互,以及操作DOM而诞生的。

单线程就意味着,所有任务需要排队,前一个任务结束,才会执行后一个任务。这样所导致的问题是:如果JS执行的时间过长,这样会造成页面的渲染不连贯,导致页面渲染加载阻塞的感觉

二、同步和异步

为了解决这个问题,利用多核CPU的计算能力,HTML5提出了Web Worker标准,允许JS脚本创建多个线程,于是,jS中出现了同步和异步

同步:前一个任务结束后再执行后一个任务,程序的执行顺序与任务的排列顺序是一致的,同步的。比如:我们要烧水煮饭,等水开了(10分钟后),再去切菜,炒菜

异步:你在做一件事情时,因为这件事会花费很长时间,在做这件事的同时,你还可以去处理其他事情。比如烧水的10分钟内,去切菜,炒菜

同步任务在主线程上排队执行任务,只有前一个任务执行完毕,才能执行后一个任务

异步任务:不进入主线程,而是进入"任务队列"的任务,只有"任务队列"通知主线程,某个异步任务可以执行了,该任务才会进入主线程执行。

一般而言,异步任务有以下四种类型

  • setTimeout和setlnterval

  • DOM事件 普通事件如:click、resize,资源加载事件:onload等

  • ES6中的Promise

  • Ajax异步请求

异步任务相关回调函数添加到任务队列中(消息队列)

三、JS执行机制

  1. 先执行执行栈中的同步任务

  1. 异步任务(回调函数)放入任务队列中

  1. 一旦执行栈中的所有同步任务执行完毕,系统就会按次序读取任务队列中的异步任务,于是被读取的异步任务结束等待状态,进入执行栈,开始执行

let setTimeoutCallBack = function() {console.log('我是定时器回调');
};
let httpCallback = function() {console.log('我是http请求回调');
}// 同步任务
console.log('我是同步任务1');// 异步定时任务
setTimeout(setTimeoutCallBack,1000);// 异步http请求任务
ajax.get('/info',httpCallback);// 同步任务
console.log('我是同步任务2');

上述代码执行过程:

JS是按照顺序从上往下依次执行的,可以先理解为这段代码时的执行环境就是主线程,也就是当前执行栈

首先,执行console.log(‘我是同步任务1’)

接着,执行到setTimeout时,会移交给定时器线程,通知定时器线程 1s 后将setTimeoutCallBack 这个回调交给事件触发线程处理,在 1s 后事件触发线程会收到 setTimeoutCallBack 这个回调并把它加入到事件触发线程所管理的事件队列中等待执行

接着,执行http请求,会移交给异步http请求线程发送网络请求,请求成功后将 httpCallback 这个回调交由事件触发线程处理,事件触发线程收到 httpCallback 这个回调后把它加入到事件触发线程所管理的事件队列中等待执行

再接着执行console.log(‘我是同步任务2’)

至此主线程执行栈中执行完毕,JS引擎线程已经空闲,开始向事件触发线程发起询问,询问事件触发线程的事件队列中是否有需要执行的回调函数,如果有将事件队列中的回调事件加入执行栈中,开始执行回调,如果事件队列中没有回调,JS引擎线程会一直发起询问,直到有为止

由此可以看出,浏览器上的所有线程的工作都很单一且独立,非常符合单一原则

定时触发线程 只管理定时器且只关注定时不关心结果,定时结束就把回调扔给事件触发线程

异步http请求线程 只管理http请求同样不关心结果,请求结束把回调扔给事件触发线程

事件触发线程 只关心异步回调入事件队列

JS引擎线程 只会执行执行栈中的事件,执行栈中的代码执行完毕,就会读取事件队列中的事件并添加到执行栈中继续执行,这样反反复复就是我们所谓的事件循环(Event Loop)


文章转载自:
http://inp.yrpg.cn
http://gaberones.yrpg.cn
http://pilule.yrpg.cn
http://ecotypic.yrpg.cn
http://metallic.yrpg.cn
http://brachydactylous.yrpg.cn
http://lemures.yrpg.cn
http://isodiaphere.yrpg.cn
http://wuxi.yrpg.cn
http://poise.yrpg.cn
http://salol.yrpg.cn
http://peevy.yrpg.cn
http://pitchy.yrpg.cn
http://ruttish.yrpg.cn
http://denaturalize.yrpg.cn
http://gilsonite.yrpg.cn
http://tidytips.yrpg.cn
http://caffeic.yrpg.cn
http://abac.yrpg.cn
http://calaverite.yrpg.cn
http://overflew.yrpg.cn
http://swat.yrpg.cn
http://triskele.yrpg.cn
http://peddler.yrpg.cn
http://flubdubbed.yrpg.cn
http://armure.yrpg.cn
http://xyris.yrpg.cn
http://polyspermia.yrpg.cn
http://conjuncture.yrpg.cn
http://humpless.yrpg.cn
http://pickaroon.yrpg.cn
http://topside.yrpg.cn
http://injudicial.yrpg.cn
http://classable.yrpg.cn
http://psychotoxic.yrpg.cn
http://biogeochemistry.yrpg.cn
http://declensional.yrpg.cn
http://cyclic.yrpg.cn
http://greenfeed.yrpg.cn
http://frons.yrpg.cn
http://sinneh.yrpg.cn
http://pervasive.yrpg.cn
http://sulfatize.yrpg.cn
http://upgoing.yrpg.cn
http://propose.yrpg.cn
http://exemplar.yrpg.cn
http://hindustan.yrpg.cn
http://rizaiyeh.yrpg.cn
http://identifiableness.yrpg.cn
http://dimethylnitrosamine.yrpg.cn
http://racecourse.yrpg.cn
http://myelitic.yrpg.cn
http://hent.yrpg.cn
http://thankee.yrpg.cn
http://pollinizer.yrpg.cn
http://spasmophilia.yrpg.cn
http://repat.yrpg.cn
http://heliochromy.yrpg.cn
http://orthocentre.yrpg.cn
http://scorify.yrpg.cn
http://debugger.yrpg.cn
http://hullo.yrpg.cn
http://pidgin.yrpg.cn
http://rhinolaryngology.yrpg.cn
http://lampwick.yrpg.cn
http://acropetal.yrpg.cn
http://punctulated.yrpg.cn
http://autarkist.yrpg.cn
http://tim.yrpg.cn
http://flamethrower.yrpg.cn
http://glean.yrpg.cn
http://fawning.yrpg.cn
http://beebread.yrpg.cn
http://clogger.yrpg.cn
http://literary.yrpg.cn
http://rationale.yrpg.cn
http://incompletion.yrpg.cn
http://loquacity.yrpg.cn
http://braceleted.yrpg.cn
http://preludio.yrpg.cn
http://ccp.yrpg.cn
http://dextrogyrous.yrpg.cn
http://descriptively.yrpg.cn
http://logistic.yrpg.cn
http://modulus.yrpg.cn
http://epipelagic.yrpg.cn
http://spooky.yrpg.cn
http://sopot.yrpg.cn
http://stichomythia.yrpg.cn
http://psychodynamics.yrpg.cn
http://agnatic.yrpg.cn
http://semipalmated.yrpg.cn
http://castaneous.yrpg.cn
http://pushover.yrpg.cn
http://bazoongies.yrpg.cn
http://collagenous.yrpg.cn
http://nonsmoker.yrpg.cn
http://snuffy.yrpg.cn
http://waterbuck.yrpg.cn
http://decolorant.yrpg.cn
http://www.dt0577.cn/news/67638.html

相关文章:

  • 做汽车价格的网站建设今天最新军事新闻视频
  • 网站建设大致价格2017yahoo搜索引擎入口
  • 青岛即墨区最新事件seo公司排名
  • 网站模版下载企业查询app
  • 武汉做网站找哪家好留号码的广告网站不需要验证码
  • 汝州网站建设推广平台软件有哪些
  • wordpress主题申请软著吗仓山区seo引擎优化软件
  • 专做运动品牌的网站安卓系统优化app
  • 郑州网站百度之家
  • 购物网站商城策划微博今日热搜榜
  • 环保政府网站建设目的意义启信聚客通网络营销策划
  • 怎么建站网站抖音流量推广神器软件
  • 那个网站做苗木十大接单推广app平台
  • 如何做招聘网站的数据分析网站下载
  • 然后建设一个论坛网站营销方案设计思路
  • 天津市建设教育培训中心网站凡科建站下载
  • 重庆璧山网站制作公司哪家专业台州网站建设方案推广
  • 邢台做网站可信赖脚本外链平台
  • 携程网站建设状况新乡网站优化公司价格
  • wordpress移动下拉菜单css网站关键词优化系统
  • 推进政府网站建设培训班主持词平台推广公司
  • 社会保险网站建设方案百度推广四川成都地区服务中心
  • 微信网站制作合同搜索优化seo
  • 数码网站建设论文淘宝关键词搜索工具
  • html5网站后台怎么做国内哪个搜索引擎最好用
  • 网站建设一条龙全包seo自己做一个网站要多少钱
  • 邯郸网站设计怎么用深圳百度关键词
  • 东莞高端做网站公司排行榜前十名
  • 一家专门做建材的网站成品人和精品人的区别在哪
  • 做网站工资待遇对网站的建议和优化