上下文与预解析、逐行解析关系
下载的资料里面说
在一段 JS 脚本(即一个<script>标签中)执行之前,会先创建一个全局执行上下文环境,先把代码中即将执行的(内部函数的不算,因为你不知道函数何时执行)变量、函数声明(和“函数表达式”的区别)都拿出来。变量先暂时赋值为undefined,函数则先声明好可使用。这一步做完了,然后再开始正式执行程序。再次强调,这是在代码执行之前才开始的工作。
从开头到“函数则先声明好可使用”,这句话说的跟预解析的工作很像啊。是不是可以理解为创建上下文环境后开始预解析、逐行解析?还是说创建上下文和预解析、逐行解析就是一回事,只是从不同的方面理解而已?
“这一步做完了,然后再开始正式执行程序。”这是说逐行解析的工作吗?
“再次强调,这是在代码执行之前才开始的工作。”是逐行解析前的工作吗?
执行一段代码不就是预解析、逐行解析两个阶段吗?预解析提升变量、函数声明,逐行解析不就一行一行执行代码了?
正在回答
同学你好,对于你的问题解答如下:
1、同学理解是对的,如下所示这段话表示预解析工作
创建上下文和预解析、逐行解析不是一回事,可以理解为创建上下文环境后开始预解析,代码真正执行的时候是逐行解析的
2、“这一步做完了,然后再开始正式执行程序。”是指逐行解析的工作
3、“再次强调,这是在代码执行之前才开始的工作。”是指逐行解析前的工作
4、理解是对的,执行一段代码有两个阶段即: 预解析、逐行解析
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
- 参与学习 人
- 提交作业 239 份
- 解答问题 10739 个
本阶段带你深入前端开发的肌理,通过ES6基础知识和前端主流高级框架的学习,助你快速构建企业级移动webAPP应用,进入职场的终极battle
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星