【JS基础整理—No.03】执行上下文

👸🏾 写在前面:对于初学者,全局执行上下文,全局作用域,函数执行上下文,函数作用域,这几个很容易混。关于执行上下文|作用域|闭包|变量提升|块级作用域这些内容有着很强的关联性,所以我把它们放在一起来复习整理。但一时间有不知该从哪里入手去解释,最近翻看了一些前辈的文章有了大概的思路。

思维导图:先把涉及的所有知识点罗列出来,再根据知识点的范围与联系进行分类,梳理出一张思维导图,最后对细节内容分篇整理总结。可以根据目录单独食用👍🏾

接下来我会从执行上下文开始,理解执行上下文和执行栈对于理解其他 JavaScript 概念(如变量声明提升,作用域和闭包)至关重要。

目录

一、执行上下文定义:

二、执行上下文对象分类:

三、执行上下文栈:

补充:执行上下文的创建阶段

在学习过程中的疑问


一、执行上下文定义:

定义:js引擎在js代码正式执行之前会先创建执行环境,在执行环境中做预处理工作,即,代码执行的环境。(纯语义理解,上下文可不就是环境的意思)还有执行上下文对象执行上下文栈,这两个名词接下来👇也会解释。

二、执行上下文对象分类:

  • 全局执行上下文(对象),默认的,在浏览器中是 window 对象,并且 this 在非严格模式下指向它。

  • 函数执行上下文,JS 的函数每当被调用时创建一个上下文(对象)。只有遇到调用函数时,函数执行上下文才会被创建。

  • Eval 执行上下文(对象),eval 函数会产生自己的上下文,这里不讨论。(实际开发中很少使用,所以见到的情况不多)

//1.全局的执行上下文
var a = 10;
var bar = function(x){  //2.创建bar的执行上下文
    var b=5;
    foo(x+b);
}
var foo = function(y){  //3.创建foo的执行上下文
    var c=5;
    console.log(a+c+y);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值