首先,请看图 javascript
那么当运行一个js函数时v8引擎是如何进行工做的呢?java
v8引擎由两个主要模块组成:内存堆/调用堆栈node
内存堆用于分配内存地址 调用堆栈用于执行代码编程
调用栈是一个盒子,当执行一个函数时,它会将函数放置到栈顶!函数返回时则弹出 浏览器
咱们都知道javascript是单线程编程语言,这意味着它只有一个调用堆栈编程语言
当执行如下代码时函数
这个时候调用堆栈怎么了?ui
当调用堆栈中有一个函数须要花费大量时间处理时,浏览器或node不能作任何事情,由于它被阻塞了 浏览器通常会询问你是否想关掉页面或者等待函数执行完成, 咱们能够在不阻塞ui和不使浏览器失去响应的状况下执行大量代码吗?线程
你猜cdn