• 技术文章 >Web开发 >JavaScript

    Js如何存储执行上下文

    小妮浅浅小妮浅浅2021-10-29 10:07:09原创166

    1、执行上下文存在于数据栈中。该栈保存代码运行是创建的所有上下文。

    栈的特点是后进先出,每创建一个新的上下文,就会压入栈的顶部。当函数执行完成时,上下文从栈中弹出,控制过程到达栈中的下一个上下文。

    2、当js引擎第一次触摸脚本时,它将创建一个全局的上下文,并将其压入栈中。

    实例

    // 创建全局上下文,入上下文执行栈
    var name = 'globalName';
    function F1() {
      // 第一阶段进行后
      // 这里this指向window
      // name被创建,但是未赋值
      //F2被创建并且引用
      console.log(name); // 那么这里应该是undefined
      console.log(F2); // 这里应该是 F2
      var name = 'f1ame'; // 再此之后,则name可以访问到
      
      function F2(argumentName) {
        console.log(argumentName);
      }
     
      // 创建F2上下文,入上下文执行栈 同理
      F2(name);
     
      //F2 出栈
      console.log(sex); //sex未创建,未赋值,且作用域链中也没有,所以报错 sex not defined
    }
    // 创建F1上下文,入上下文执行栈
    F1();
    // F1出栈
    // 全局上下文出栈

    以上就是Js存储执行上下文的方法,希望对大家有所帮助。更多js学习指路:js教程

    专题推荐:js 执行上下文
    品易云
    上一篇:js执行上下文的类型 下一篇:js如何创建执行上下文

    相关文章推荐

    • js函数声明的提升顺序• js如何自定义构造函数创建对象• js标识符模式的介绍• js数组模式是什么• js对象模式如何理解• js逻辑操作符的介绍• js中Array构造器的处理方式• js中Array.of的使用• js中Array.from的用法• js有哪些改变自身值的方法• js中同步如何理解• js中异步是什么意思• js执行上下文的类型

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网