zoukankan      html  css  js  c++  java
  • JS调用栈和队列

    1.栈

      先进后出

    1.调用栈:

      是JS引擎追踪函数执行流程的一种机制,当执行环境中调用了多个函数时,通过这种机制,我们能追踪到哪个函数正在执行,执行的函数体又调用了哪个函数

    函数的声明是不会进入栈中的,调用栈就是被调用的函数才会入栈

    如一个函数:

    当执行到第十行,average函数才会被调用,此时average函数入栈,此时average函数中又调用了sum函数,sum函数入栈:

    当sum函数执行结束,sum函数就出栈。再接着执行sum函数后面的代码,当average函数执行结束,average函数出栈。

    再接着执行到11行,console.log()入栈。执行结束console.log()出栈

    此时JS执行环境处于空闲状态

     2.堆栈溢出

      最常见的一个场景就是递归,当使用递归,却没有一个递归结束的判断的时候。

    如:

    此时控制台会出现:

    2.队列

      先进先出

  • 相关阅读:
    《编写高质量代码Web前端开发修炼之道》(读书笔记) windrainpy
    jQuery琐碎笔记 windrainpy
    【记录】事件冒泡和事件捕获 windrainpy
    JS比较容易迷惑的几个地方 windrainpy
    【转】成为顶级程序员的唯一途径! windrainpy
    jquery键盘事件 windrainpy
    【转】IE绝对定位元素神秘消失或被遮挡的解决 windrainpy
    简单算法
    HTTP的状态
    css的兼容问题
  • 原文地址:https://www.cnblogs.com/codexlx/p/14182958.html
Copyright © 2011-2022 走看看