JavaScript中的事件循环机制是如何运作的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2621个文字,预计阅读时间需要11分钟。
目录+前言+1、JavaScript是单线程的+2、同步和异步+3、事件循环+前言+我们知道JavaScript是单线程的编程语言,只能同一时间做一件事,按顺序处理事件。
目录
- 前言
- 1、JavaScript是单线程的
- 2、同步和异步
- 3、事件循环
前言
我们知道JavaScript 是单线程的编程语言,只能同一时间内做一件事,按顺序来处理事件,但是在遇到异步事件的时候,js线程并没有阻塞,还会继续执行,这又是为什么呢?本文来总结一下js 的事件循环机制。
1、JavaScript是单线程的
JavaScript 是一种单线程的编程语言,只有一个调用栈,决定了它在同一时间只能做一件事。在代码执行的时候,通过将不同函数的执行上下文压入执行栈中来保证代码的有序执行。在执行同步代码的时候,如果遇到了异步事件,js 引擎并不会一直等待其返回结果,而是会将这个事件挂起,继续执行执行栈中的其他任务。因此JS又是一个非阻塞、异步、并发式的编程语言。
2、同步和异步
同步和异步的关系就类似于我们在餐厅排队吃饭的时候,每个人必须挨个的排队来进行买饭这个操作,而在这个过程中十分无聊,这时候我们可以边排着队边玩下手机,不需多久就排到了我们买饭。这个排队过程就是JS中的一个同步操作,玩手机就像一个异步操作。同步和异步的差别就在于排队买饭和玩手机这两个任务的执行顺序的不同。
同步: 指的是在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务。
本文共计2621个文字,预计阅读时间需要11分钟。
目录+前言+1、JavaScript是单线程的+2、同步和异步+3、事件循环+前言+我们知道JavaScript是单线程的编程语言,只能同一时间做一件事,按顺序处理事件。
目录
- 前言
- 1、JavaScript是单线程的
- 2、同步和异步
- 3、事件循环
前言
我们知道JavaScript 是单线程的编程语言,只能同一时间内做一件事,按顺序来处理事件,但是在遇到异步事件的时候,js线程并没有阻塞,还会继续执行,这又是为什么呢?本文来总结一下js 的事件循环机制。
1、JavaScript是单线程的
JavaScript 是一种单线程的编程语言,只有一个调用栈,决定了它在同一时间只能做一件事。在代码执行的时候,通过将不同函数的执行上下文压入执行栈中来保证代码的有序执行。在执行同步代码的时候,如果遇到了异步事件,js 引擎并不会一直等待其返回结果,而是会将这个事件挂起,继续执行执行栈中的其他任务。因此JS又是一个非阻塞、异步、并发式的编程语言。
2、同步和异步
同步和异步的关系就类似于我们在餐厅排队吃饭的时候,每个人必须挨个的排队来进行买饭这个操作,而在这个过程中十分无聊,这时候我们可以边排着队边玩下手机,不需多久就排到了我们买饭。这个排队过程就是JS中的一个同步操作,玩手机就像一个异步操作。同步和异步的差别就在于排队买饭和玩手机这两个任务的执行顺序的不同。
同步: 指的是在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务。

