JavaScript中执行上下文和执行栈是什么?

执行上下文是js代码运行环境的抽象概念,只要有js 代码运行,一定运行在执行上下文中

  • 全局执行上下文:只有一个,浏览器中的全局对象就是 window对象,this 指向这个全局对象

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

  • Eval 函数执行上下文: 指的是运行在 eval 函数中的代码,很少用而且不建议使用

执行栈,也叫调用栈,是一个后进先出的结构,用于存储在代码执行期间创建的所有执行上下文,每当js引擎遇到一个函数,就会创建一个函数执行上下文,然后将这个执行上下文压入执行栈

你可能感兴趣的:(javascript,开发语言)