当前位置:首页 > javascript > 正文内容

event-loop

自由小鸟5年前 (2019-11-18)javascript3203

如果知道js运行机制,在工作中会帮助我们更好的理解和编写代码,也知道为什么js是单线程

js为什么是单线程

原因,就是为了避免DOM渲染的冲突

异步是一种“无奈”的解决方案,虽然有很多问题,如下:

1,没按照书写方式执行,可读性差

2,callback中不容易模块化

什么是event-loop

1,同步代码,直接执行
2,异步函数先放在异步队列中
3,待同步函数执行完毕,轮询执行异步队列的函数setTimeout如果没有延迟时间会立即放到异步队列中如果有延迟时间,
会等到时间到后放入异步队列中如果遇到ajax会看成功的速度会来回轮询检测主线程和异步队列来回检

image.png


版权声明:本文由Web学习之路发布,如需转载请注明出处。

本文链接:https://webge.net/?id=74

返回列表

上一篇:正则的规则

下一篇:数组去重

“event-loop” 的相关文章

正则的规则

正则的两个特点:懒惰:如果没有设置全局g的情况下,只匹配1次,这时候的lastIndex的值是0贪婪:...

最全的js运行机制

最全的js运行机制

主线程Event Queue:(微任务,宏任务) 1,主线程执行完后2,到Event Queue里找,先执行微任务,再宏任务...

js 判断数组,对象

arr=[1,2,3,4]; obj={a:'aaa'}; console.log(arr.constructor===Object) //false arr instanceof Array //true Object.prototype.toString.call(...

防抖和节流

如果我在一个时间内只执行一次,最好用防抖,如果只是想在执行时,设置一下间隔时间那么用节流 防抖是在一个时间内只能执行一次,如果频繁操作就会清除重新开始计算执行,我设置的时间内整个过程中只会执行一次/* 函数的防抖 debounce,不是某个事件触发就去执行函数,而是在指定的时间间隔内执行...

SSO单点登陆

1、单点登录实现原理1)登录 注意:1)跳转SSO验证登录时,需要使用sendDirect重定向;2)浏览器与SSO之间建立的会话成为全局会话。扩展:a.spring项目如何获取本机的IP地址? 获得仅为ip地址不带端口b.spring项目如何获取项目端口? 2)注销 SSO认证中心有一个全...

判断是否是微信浏览器

//判断是否为 微信浏览器 // function is_weixn(){ // if(ua.match(/MicroMessenger/i)=="micromessenger") { // return tr...