首页 > 其他 > 详细

学习执行上下文

时间:2021-06-08 17:17:52      阅读:11      评论:0      收藏:0      [点我收藏+]

什么叫 “执行上下文”(执行上下文环境)

在浏览器执行代码之前;会先做一些准备工作;例如把声明的变量和函数提升到全局最前面;

例如:

  console.log(a); // undefined

  var a = 10;

浏览器运行的过程大概如此:

  先做准备工作

  var a; // 先把a提升到最前面;然后再开始执行;所以这个时候a已经声明了但是还没有赋值,所以值为undefined;

  console.log(a);

  a = 10;

 

全局准备工作

  1.变量,函数表达式-----变量声明,默认赋值为undefined;

  2.this---赋值;(有疑问,this不是运行时才能决定是指向什么值,准备的时候怎么可能知道)

  3.函数声明---赋值

这三种数据准备情况我们称为 “执行上下文” 或者 “执行上下文环境”

执行上下文环境分两种:全局和函数

函数每次被调用都会产生一个新的执行上下环境,因为每次都调用都有可能有不同的参数;

函数准备工作

  1.参数---赋值

  2.argument--赋值

  3.自由变量的取值作用域---

在js中多次调用函数,产生多个执行上下文环境;也出现一个名为“栈”的东西,“栈”---后进先出;执行上下栈;

整个过程是压栈和出栈;

学习执行上下文

原文:https://www.cnblogs.com/jyjy28/p/14862164.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!