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.队列

      先进先出

  • 相关阅读:
    双栈排序
    Koishi Loves Segments
    [USACO14FEB] Cow Decathlon 牛的十项全能
    [HNOI2016]网络
    koishi的数学题
    邦邦的大合唱站队
    #613(div2)
    Educational Codeforces Round 77
    #Hello 2020
    #601 (Div. 2)
  • 原文地址:https://www.cnblogs.com/codexlx/p/14182958.html
Copyright © 2011-2022 走看看