Js如何存储执行上下文

美女程序员鼓励师

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如何存储执行上下文 的全部内容, 来源链接: utcz.com/z/546478.html

回到顶部