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存储执行上下文的方法,希望对大家有所帮助。




