javascript理解系列(1):执行上下文

前言

一直对JavaScript 的一些概念等方面等东西不是很理解,现在从一点点开始重拾javascript。
本章主要讲的的是执行上下文,以及相关概念。用于理解javascript内部程序是如何执行的,以及变量提升,作用域,闭包等。

1. 什么是执行上下文?

执行上下文是解析和执行javascript代码时所在环境等抽象概念。分为3类:

  • 全局执行上下文 : 基础的上下文,只有一个,所有不在函数内部的代码都是在全局执行上下文中。它做了两件事:1.创建一个全局对象,在浏览器中就是window对象,2.讲this指向全局对象。
  • 函数执行上下文:每当函数被调用时就会创建一个新的执行上下文
  • eval函数执行上下文:运行在eval函数中的代码 不建议使用

2. 执行上下文的生命周期

执行上下文包括3个阶段:(1)创建阶段 (2)执行阶段 (3)回收阶段

2.1 创建阶段

创建阶段:函数调用,但是未执行任何代码之前,会发生3件事:
(1)决定this的指向 (this绑定) 备注:下面会专门讲this绑定
(2)创建词法环境组件 词法环境
(3)创建变量环境组件

参考文章:
https://juejin.im/post/5ac301d151882510fd3fcf3a
https://blog.fundebug.com/2019/03/20/understand-javascript-context-and-stack/
https://juejin.im/post/5ba32171f265da0ab719a6d7
https://muyiy.cn/blog/1/1.1.html#%E6%89%A7%E8%A1%8C%E4%B8%8A%E4%B8%8B%E6%96%87%E7%9A%84%E5%88%9B%E5%BB%BA

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值