首页 > 前端 > 正文

Js如何存储执行上下文

2023-08-17 21:19:26前端阅读

Js如何存储执行上下文

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

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

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

Js存储执行上下文实例

// 创建全局上下文,入上下文执行栈
var name = 'globalNa
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中异步是什么意思

    如果调用者在函数返回时无法获得预期的结果,但在未来需要通过一定的手段获得,那么函数是异步的。如果函数异步,调用后立即返回,但不会立即返回预期结果。

    2023-08-17
  •  
  • js执行上下文的类型

    js执行上下文的类型

    1、全局上下文:是基础,默认上下文类型,任何不在函数内的代码都在全局上下文中。它会执行两件事:创建一个全局window对象,设置this的值等于这个对象,一个程序只有一个全局上下文环境。2、函数上下文:每当调用一个函数,就会为这个函数创建一个新的

    2023-08-17
  • js如何创建执行上下文

    js如何创建执行上下文

    1、创建一个执行分为两个阶段:创建阶段和执行阶段。2、创建阶段会发生三件事:绑定this指向,也被称为 This Binding、创建词法环境组件、创建变量环境组件。实例ExecutionContext = { ThisBinding = <this value>, // 确定 this 指向

    2023-07-16
  •  
  • js中可选的回调函数

    js中可选的回调函数

    1、then的回调函数不是严格要求必写的。如果不写,promise也会用上一个返回的最终值来传递。doSomething().then().then(function(result) { console.log(&#39;got a result&#39;, result);}); // 输出结果是://// got a result 422、如果当

    2023-06-29