JS高阶---执行上下文栈

大纲:

 

 

 

主体:

注意:*******函数调用时才会产生上下文栈,声明时不会产生**********

 

顺序:

 

概念图:

执行上下文栈的顺序---→后进先出

 

 

 

 

其他概念图:

当前执行的上下文总是在顶部
全局执行上下文总是在底部

 

 

 

 

【面试题】

递归调用:在函数内部去调用本身
    递归一般都会有退出条件,不然会是死循环

接下来简单做下修改

结果:

整个过程有5个执行栈

 

 

出栈与入栈顺序刚好相反,类似于箱子放东西
后入先出

入栈:                                                                             出栈:

                                  

 

 

 

【面试题2】

 

分析:变量提升还是函数提升,哪个靠前???

规定:

先变量提升,后函数提升

所以结果为'function'

 

【面试题3】

结果为undefined

 

 

【面试题4】

 

 

 

 分析:

分析:因为变量提升优先于函数提升,所以不会执行到函数阶段,直接在变量提升阶段,利用c变量去调用方法,而变量没有方法,所以报错

 

 

 

 

 

.

posted @ 2019-12-02 15:37  剑仙6  阅读(158)  评论(0编辑  收藏  举报
欢迎访问个人网站www.qingchun.在线