image.png

作者:UC 国际研发 阿定

Event Loop,事件循环,是贯穿 整个执行时的关键,这篇文章将通过理论+实践的方式,带你进一步了解这个神奇的机制。

理论篇

image.png

(图片来源于 MDN)

上图比较形象地概括了 在运行时的理想情景,下面逐一介绍。

函数调用栈 Stack

Stack,顾名思义,是一个 FILO(First In Last Out) 的结构。每次调用函数,在系统中就会把当前函数以及函数内的变量压栈,举个栗子:
image.png

上面代码,定义了两个函数对象,并且执行了一条语句 test(1),试行时, test 函数入栈,进入到 test 函数的执行上下文,发现 return test2(n),再把 test2 函数入栈,最后 test2 返回结果,test2 函数出栈,test 出栈,输出结果:124。

image.png

堆内存

收藏 打印