这篇文章主要介绍“Js怎么存储执行上下文”,在日常操作中,相信很多人在Js怎么存储执行上下文问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Js怎么存储执行上下文”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
执行上下文存在于数据栈中。该栈保存代码运行是创建的所有上下文。
栈的特点是后进先出,每创建一个新的上下文,就会压入栈的顶部。当函数执行完成时,上下文从栈中弹出,控制过程到达栈中的下一个上下文。
当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怎么存储执行上下文”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!