【说站】Js如何存储执行上下文
2023-06-13 09:13:23 时间
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教程
收藏 | 0点赞 | 0打赏
相关文章
- JS数组的排序和反转
- Auto.js找图找色常用功能
- JS后退, JS返回上一页, JS返回下一页
- JS跳转代码_js中跳转页面路径
- thymeleaf模板支持(解析)JS
- 【JS 逆向百例】猿人学系列 web 比赛第二题:js 混淆 - 动态 cookie,详细剖析
- js 生成条码和打印详解编程语言
- JS作用域链的详解
- 使用JS实现Redis数据读取(js读取redis)
- 妙用JS获取Oracle信息的快速方法(js获取Oracle)
- MySQL数据库不支持存储JavaScript脚本(mysql不存js)
- Oracle中JS的优势让数据库性能提升(oracle中 js)
- 基于逻辑运算的简单权限系统(实现)JS版
- 比较简单实用的使用正则三种版本的js去空格处理方法
- JS函数验证总结(方便js客户端输入验证)
- 解决js正则匹配换行问题实现代码
- js汉字转拼音实现代码
- JS模板实现方法
- 解决js中window.open弹出的是上次的缓存页面问题
- 使用js完成节点的增删改复制等的操作
- 使用js判断当前时区TimeZone是否是夏令时
- Node.js中调用mysql存储过程示例
- Node.js文件操作详解