大家好,今天小编关注到一个比较有意思的话题,就是关于javascript操作顺序的问题,于是小编就整理了3个相关介绍javascript操作顺序的解答,让我们一起看看吧。
- javascript的执行顺序是怎样的?
- main.js的执行顺序?
- js如何控制初始化顺序?
j***ascript的执行顺序是怎样的?
这个问题其实很复杂,搞清楚需要花点时间,我简单的说一下:
1、首先js本身是一种单线程语言,意味着它同一时间只做一件事情,代码也会从上到下顺序执行
div>
2、js在执行之前有个预处理的过程,会把var声明的变量和函数声明提升到执行上下文的顶部,所以在它们被定义之前是可以拿到它们的声明的,这点需要注意
3、js在执行过程中,会遇到同步和异步两种任务
4、同步任务会等到它有执行结果才会继续往下执行
5、异步任务比如IO请求、事件、定时器等,js的主线程不会等待它们的运行结果,就会继续往下走(有些异步任务依赖浏览器的多线程能力比如请求等)
6、这些异步任务会被放入任务队列,主线程的回调函数会被挂起,等到主线程执行完毕,会去循环任务队列中是否有完成的异步任务,如果有就会把它推入主线程并执行相应的回调函数,直到任务队列被清空
7、任务队列又分为宏任务和微任务,宏任务包括script整体代码、定时器等,微任务包括
process.nextick
、promise等
8、js引擎首先从宏任务中取出第一个任务,执行完毕后,将微任务中的所有任务取出,按顺序全部执行;按这样的节奏循环往复,直到两个队列中的任务都取完。
我说的比较简单,自己可以去网上搜索更详细的答案!
main.js的执行顺序?
js会有一个主线程,不过也有异步执行机制,第一个函数中是一个网络请求,在实际执行过程中,主线程遇到调用的时候,分发给了异步执行的线程,之后继续执行。网络请求返回之后才能输出。如果要达到你想要的目的,就要将网络请求改写为同步。
先全局上下文,首先是变量提升给undefined值 , 然后是函数提升。放变量和函数提升以后,按序执行代码,还有显式的变量赋值 ,以下代码 c 在变量提升,函数提升之后,又经过显式赋值,最终仍变会number 类型。
1. 在全局代码执行前, JS引擎就会创建一个栈来存储管理所有的执行上下文对象
2. 在全局执行上下文(window)确定后, 将其添加到栈中(压栈)
3. 在函数执行上下文创建后, 将其添加到栈中(压栈)
4. 在当前函数执行完后,将栈顶的对象移除(出栈)
5. 当所有的代码执行完后, 栈中只剩下window
到此,以上就是小编对于j***ascript操作顺序的问题就介绍到这了,希望介绍关于j***ascript操作顺序的3点解答对大家有用。
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。 转载请注明出处:http://www.fengdengtech.com/post/38065.html
相关推荐
-
大家好,今天小编关注到一个比较有意思的话题,就是关于javascript重新加载页面的问题,于是小编就整理了2个相关介绍javascript重新加载页面的解答,让我们一起看看吧。多个网页中引用了相同的JS库文件,每次访问这些网页都要重新从服...
-
大家好,今天小编关注到一个比较有意思的话题,就是关于执行javascript脚本出错的问题,于是小编就整理了3个相关介绍执行javascript脚本出错的解答,让我们一起看看吧。打印东西的时候显示脚本发生错误怎么办?如何命令行窗口执行JS脚...
-
大家好,今天小编关注到一个比较有意思的话题,就是关于javascript是什么执行的问题,于是小编就整理了5个相关介绍javascript是什么执行的解答,让我们一起看看吧。IE中js是顺序执行吗?js中存储空间执行空间怎么区别?main....
-
大家好,今天小编关注到一个比较有意思的话题,就是关于javascript自动加载事件的问题,于是小编就整理了2个相关介绍javascript自动加载事件的解答,让我们一起看看吧。js延迟加载的方式有哪些?怎么判断js脚本加载完成?js延迟加...
-
大家好,今天小编关注到一个比较有意思的话题,就是关于css自定义工具栏的问题,于是小编就整理了2个相关介绍css自定义工具栏的解答,让我们一起看看吧。html菜单栏怎么做?浏览器页面任务栏不见了怎么恢复?html菜单栏怎么做?HTML菜单栏...
-
大家好,今天小编关注到一个比较有意思的话题,就是关于javascript进程和线程的问题,于是小编就整理了4个相关介绍javascript进程和线程的解答,让我们一起看看吧。javascript既然是单线程语言,为什么会分主线程和消息线程?...
-
大家好,今天小编关注到一个比较有意思的话题,就是关于html中函数的问题,于是小编就整理了4个相关介绍html中函数的解答,让我们一起看看吧。在js中任何函数都是什么对象?前端button怎么绑定函数?js为什么不能在同步函数里调用异步函数...
-
大家好,今天小编关注到一个比较有意思的话题,就是关于javascript如何防抖的问题,于是小编就整理了1个相关介绍javascript如何防抖的解答,让我们一起看看吧。js防抖和节流区别及实现方式?js防抖和节流区别及实现方式?在Java...
-
大家好,今天小编关注到一个比较有意思的话题,就是关于javascript中的效率的问题,于是小编就整理了3个相关介绍javascript中的效率的解答,让我们一起看看吧。为什么感觉前端js的代码执行效率要比后端java快?js压缩的原理?j...
-
大家好,今天小编关注到一个比较有意思的话题,就是关于javascript语句执行顺序的问题,于是小编就整理了2个相关介绍javascript语句执行顺序的解答,让我们一起看看吧。js时间循环是什么?js的同步、异步是指什么?怎么回事?与线程...