01- JavaScript 调用堆栈
发布日期:2021-07-01 00:37:27
浏览次数:2
分类:技术文章
本文共 646 字,大约阅读时间需要 2 分钟。
什么是 JavaScript 调用栈,为什么它是必要的?
JavaScript 引擎是一个单线程解析器,而单线程解析器由堆和单一调用栈组成。浏览器提供 Web APIs,比如:DOM,AJAX 和 定时器。
本文旨在说明什么是调用堆栈以及为什么需要调用栈?对调用栈的理解有助于我们更加清晰的知道 函数的的层次结构和执行顺序 在 JavaScript 的引擎中工作方式。
调用堆栈主要用于函数调用,由于 调用堆栈是单个的,因此函数的执行从上到下一次性完成。这意味着调用栈是同步的。
对调用栈的理解对于异步编程至关重要,后面我们会介绍。
在异步 JavaScript 中,我们有一个回调函数,一个事件循环队列和一个任务执行队列。在事件循环将回调函数 推到堆栈之后,回调函数将在执行期间由调用堆栈执行。
在此之前,让我们尝试着回答什么是调用张?
在最基本的级别上,调用栈是一种数据结构,它使用后进先出(LIFO)原理临时存储 和管理函数调用。
让我们打破之前的定义:
LIFO:当我们说调用堆栈是按照后进先出的数据结构原理进行操作时,这意味着当函数返回时,被压入堆栈的最后一个函数是第一个弹出的函数。
让我们通过堆栈跟踪错误打印到控制台来掩饰 LIFO 的代码示例:
function firstFunction(){ throw new Error('Stack Trace Error');}function secondFunction(){ firstFunction();}funct
转载地址:https://m528964214.blog.csdn.net/article/details/110790005 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年04月24日 02时41分15秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
JSON parse 错误: unexpected token at分析和解决
2019-05-01
python built-in function summary
2019-05-01
对于git/热部署/创建maven工程的小记录
2019-05-01
在jsp中调用本地外部json文件的解决方法
2019-05-01
ECharts is not Loaded解决方案
2019-05-01
ECharts地图显示不完整,只显示南海诸岛问题
2019-05-01
echarts is not defined解决方案
2019-05-01
require is not defined
2019-05-01
echarts切换tab时,第一个图表显示,第二个图表不显示的解决办法
2019-05-01
打war包部署,debug测试代码
2019-05-01
当项目上面出现红色感叹号的解决办法
2019-05-01
mysql数据库学习(keep update)
2019-05-01
PS_BaseUse_人像照片瑕疵处理
2019-05-01
PS_BaseUse_img中多余部分的去除
2019-05-01
PS_BaseUse_红眼擦拭
2019-05-01
PS_BaseUse_颜色替换
2019-05-01
neo4j图数据库入门
2019-05-01
Java常见数据结构整理(数组,栈,队列,链表,红黑树)二
2019-05-01
HTTP协议,HTTP请求和响应,TCP三次和四次握手
2019-05-01
JDK1.8HashMap源码分析说明
2019-05-01