JS
文章平均质量分 60
ZHONG_____
永远自由如风,永远为自己着迷
展开
-
事件队列:micro Task queue (微队列 ) 和 macro Task queue (宏队列)
事件队列:micro Task queue (微队列 ) 和 macro Task queue (宏队列)micro Task queue (微队列 )类似于VIP用户,执行栈执行优先拿微队列里的待执行函数macro Task queue (宏队列)类似于普通用户,执行栈执行优先拿微队列里的待执行函数,等微队列中的待执行函数清空后,才从宏队列中拿取待执行函数执行...原创 2022-06-23 10:13:46 · 366 阅读 · 2 评论 -
事件循环:执行栈、Web API 、 执行队列 之间的循环过程(异步)
事件循环:执行栈、Web API 、 执行队列 之间的循环JS启动之前就会分配一块内存空间(执行引擎干的事),就是执行栈call stackJS执行引擎会往执行栈内放入一块形成函数a的上下文,函数a上下文入栈,函数a里面继续执行,执行setTimeout的回调函数执行栈通知浏览器的计时线程开始计时(时间为0秒,计时完成后需要执行的函数是fn2)发送通知完成后,setTimeout执行完成,出栈计时结束后,有需要执行的函数,到执行队列中排队,等待执行栈休息时,便会从执行队列中,按顺序执行...原创 2022-06-23 09:50:43 · 271 阅读 · 2 评论 -
死循环 : 死循环是否会报错?为什么?
死循环 : 死循环是否会报错?为什么?该死循环不会导致内存空间不够用没有产生什么内存空间只是CPU一直在忙,不停的忙什么也做不了,但是一直不停的瞎转,内存空间不会浪费,只会造成卡顿循环中调用了A()函数,产生了A的上下文,并入栈(执行栈)A()函数就结束了(因为A函数什么也没做),结束后,A的上下文就出栈出栈后,本次循环结束进行下一次循环下一次循环重复调用A函数...原创 2022-06-22 23:36:36 · 746 阅读 · 2 评论 -
无限递归引起的执行栈溢出 -> RangeError: Maximum call stack size exceeded (范围错误:超出了最大调用堆栈大小)
无限递归引起的执行栈溢出 -> RangeError: Maximum call stack size exceeded (范围错误:超出了最大调用堆栈大小)原创 2022-06-22 23:15:23 · 409 阅读 · 0 评论 -
执行栈:JS线程执行JS代码的过程(异步)
执行栈:JS线程执行JS代码的过程(异步)在执行JS代码的前就会分配一块内存空间(执行引擎干的事),就是执行栈call stack,JS执行引擎会往执行栈内放入一块执行全局代码(代码从上往下执行)原创 2022-06-22 23:00:14 · 235 阅读 · 0 评论