此上下文中不支持函数定义。请在代码文件中创建函数_一次弄懂JavaScript执行上下文...

本文详细介绍了JavaScript的执行上下文,包括概念、类型(全局、函数和eval)、执行上下文栈的作用和特点,以及执行上下文的生命周期,强调了创建阶段的This Binding和词法环境,执行阶段的变量赋值和函数引用,最后通过实例讲解和总结加深理解。
摘要由CSDN通过智能技术生成

8c2cb2490268f4730a427026164e5037.png

一、执行上下文的概念

JS引擎解析到可执行代码片段(通常是函数调用阶段)的时候,就会先做一些执行前的准备工作,这个 “准备工作”,就叫做 "执行上下文(execution context 简称 EC)"

二、执行上下文的类型

全局执行上下文

只有一个,浏览器中的全局对象就是 window 对象,this 指向这个全局对象。

函数执行上下文

存在无数个,只有在函数被调用的时候才会被创建,每次调用函数都会创建一个新的执行上下文。

eval函数执行上下文

指的是运行在 eval 函数中的代码,很少用而且不建议使用。

三、执行上下文栈

作用

用于管理执行在代码执行期间创建的执行上下文

特点

1.单线程,在主进程上运行
2.同步执行,从上往下按顺序执行
3.全局上下文只有一个,浏览器关闭时会被弹出栈
4.函数的执行上下文没有数目限制
5.函数每被调用一次,都会产生一个新的执行上下文环境

每当有函数被调用时,引擎都会为该函数创建一

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值