前言 我们都知道 javascript是一门单线程、异步、非阻塞、解析类型脚本语言。 单线程 ?? 异步 ?? 非阻塞 ?? 然后还有 事件循环、消息队列,还有微任务、宏任务这些 这几天在掘金、知乎等论坛翻阅了不少大佬的文章,似乎了解到了一二,然后在这里 ...
事件循环与消息队列 因为js是单线程脚本语言,一般情况下代码是同步执行。也就是说js执行代码是一行一行向下执行的,前面没有执行完成是不会执行后面的代码的。 同步和异步的区别其实就在于需不需要排队的问题 同步:所有任务一视同仁,都得排队,先来后到 异步:可以按照一定规则 不至于乱套 插队执行 事件循环和消息队列怎么理解 事件循环:单线程脚本语言javascript处理任务的一种执行机制,通过循环来执 ...
2020-07-09 22:47 0 1265 推荐指数:
前言 我们都知道 javascript是一门单线程、异步、非阻塞、解析类型脚本语言。 单线程 ?? 异步 ?? 非阻塞 ?? 然后还有 事件循环、消息队列,还有微任务、宏任务这些 这几天在掘金、知乎等论坛翻阅了不少大佬的文章,似乎了解到了一二,然后在这里 ...
我们在接触到JavaScript语言的时候就经常听到别人介绍JavaScript 是单线程、异步、非阻塞、解释型脚本语言。 确切的说,对于开发者的开发过程来说,js确实只有一个线程(由JS引擎维护),这个线程用来负责解释和执行JavaScript代码,我们可以称其为 ...
本人正在努力学习前端,内容仅供参考。由于各种原因(不喜欢博客园的UI),大家可以移步我的github阅读体验更佳:传送门,喜欢就点个star咯,或者我的博客:https://blog.tangz ...
微任务和宏任务属于一个队列,主要区别在于它们的执行顺序(宏任务执行完如果有可执行的微任务则执行完微任务才会继续执行下一个宏任务) 宏任务:包括整体代码script,,setInterval,setImmediate。 微任务:原生Promise(有些实现的promise ...
在之前的一篇文章中简单理了下JS的运行机制,顺着这条线深入就又遇到了几个概念,什么是事件循环,什么又是宏任务、微任务呢,今天用这篇文章梳理一下。 以下是我自己的理解,如有错误,还望不吝赐教。 事件循环与消息队列 首先大家都知道JS是一门单线程的语言,所有的任务都是在一个线程上完成的。而我们知道 ...
前言 我们知道JavaScript的单线程,与它的用途有关。作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM。这决定了它只能是单线程,否则会带来很复杂的同步问题。 ...
一:调用栈是个什么鬼东西,它具有栈的属性--后进先出 先看一段简单的JS代码: const second = function(){ console.log('hello there'); } const first = function() { console.log('hi,first ...
JavaScript的执行流,无论是浏览器还是Node.js,都是基于 事件循环 。 理解事件循环能够让我们写出更可靠的高性能代码。 让我们先介绍一下事件循环的原理,然后再来看看实际应用。 事件循环(Event Loop) 事件循环的概念非常简单。它就是一个无止境的循环 ...