函数调用栈(call stack)是什么,以及在断点调试中的使用。

用栈 (Call Stack)

https://segmentfault.com/a/1190000010360316

     调用栈其实就是一种解析器去处理程序的机制,它是栈数据结构。它能追踪子程序的运行状态。

  1. 当脚本要调用一个函数时,解析器把该函数添加到栈中并且执行这个函数。并形成一个栈帧
  2. 任何被这个函数调用的函数会进一步添加到调用栈中,形成另一个栈帧,并且运行到它们被上个程序调用的位置。
  3. 当执行完这个函数后,如果它没有调用其他函数,则它会从调用栈中推出。然后调用栈继续运行其他部门。
  4. 异步函数的回调函数一般都会被添加到运行队列里面,如settimeout会在响应的时间后把回调函数放入队列中,队列里的函数需要等栈为空时才会被推入栈中执行。如果队列中有其他函数,需要等队列前面的函数被堆入调用栈中之后才会运行。

     概念扩充:

         栈数据结构的访问规则:后进先出

         队列数据结构的访问规则:先进先出


 

chrome developer tool—— 断点调试

https://www.cnblogs.com/yzg1/p/5578363.html

 

  • Call Stack 显示当前断点的环境调用栈
  • Breakpoints 当前js断点列表,添加的每个断点都会出现在此处,点击列表中断点就会定位到内容区的断点上
  • DOM Breakpoints 当前DOM断点列表列表
  • XHR Breakpoints 当前xhr断点列表,可点击右侧+添加断点
  • Event Listener Breakpoints 事件监听器断点设置处
  • Event Listeners 当前事件监听断点列表

 

 

你可能感兴趣的:(Tools,学习总结)