JavaScript 口试系列:JavaScript 中实行上下文和实行栈是什么?

源码 2024-9-21 19:01:49 105 0 来自 中国
一、实行上下文

简朴的来说,实行上下文是一种对Javascript代码实行环境的抽象概念,也就是说只要有Javascript代码运行,那么它就肯定是运行在实行上下文中
实行上下文的范例分为三种:

  • 全局实行上下文:只有一个,欣赏器中的全局对象就是 window对象,this 指向这个全局对象
  • 函数实行上下文:存在无数个,只有在函数被调用的时间才会被创建,每次调用函数都会创建一个新的实行上下文
  • Eval 函数实行上下文: 指的是运行在 eval 函数中的代码,很少用而且不建议使用
下面给出全局上下文和函数上下文的例子:

紫色框住的部门为全局上下文,蓝色和橘色框起来的是差别的函数上下文。只有全局上下文(的变量)能被其他任何上下文访问
可以有恣意多个函数上下文,每次调用函数创建一个新的上下文,会创建一个私有作用域,函数内部声明的任何变量都不能在当前函数作用域外部直接访问
二、生命周期

实行上下文的生命周期包罗三个阶段:创建阶段 → 实行阶段 → 接纳阶段
创建阶段

创建阶段即当函数被调用,但未实行任何其内部代码之前
创建阶段做了三件事:
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-24 10:40, Processed in 0.164908 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表