zoukankan      html  css  js  c++  java
  • 执行上下文

    执行上下文概念

    执行上下文(Execution Context):函数执行的准备工作(也称执行上下文环境)

    运行JavaScript代码的时候,当代码执行进入一个环境时,就会为该环境创建一个执行上下文,它会在运行代码前做一些准备工作,如:确定作用域、创建局部变量对象等。

    JavaScript中执行环境

    1、全局环境

    2、函数环境

    3、eval函数环境

    与之对应的执行上下文类型有

    1、全局执行上下文

    2、函数执行上下文

    3、eval函数执行上下文

    JavaScript中管理多个执行上下文

    函数编程中,代码中会声明多个函数,对应的执行上下文也会产生多个。在JavaScript中,通过栈的存取方式来管理执行上下文,我们可以称其为执行栈,或函数调用栈(Call Stack)。

                            

    总结栈数据结构的特点:
    1.先进后出,后进先出
    2.出口在顶部,且仅只有一个

    首先来看一个示例:

    堆栈示意图如下:

    执行上下文的生命周期:

    1、创建阶段(进入执行上下文):函数被调用时,进入函数环境,为其创建一个执行上下文,此时进入创建阶段。

    2、执行阶段(代码执行):执行函数中代码时,此时执行上下文进入执行阶段。

    1、创建变量对象

    ·函数环境会初始化创建 Arguments 对象,形式参数(并赋值)

    ·普通函数声明(并赋值)

    ·局部变量声明,函数表达式声明(未赋值)

    2、初始化作用域链

    3、确定 this 指向(this由调用者确定)

    4、确定作用域

  • 相关阅读:
    Rust 1.40.0 发布
    Rust程序交叉编译到aarch64(armv8)目标
    中西的根本区别:理性和感性 贺刚
    使用Rust加速Python
    让你的Python代码更快运行的 5 种方法
    Python基于pyCUDA实现GPU加速并行计算功能入门教程
    用 Psyco 让 Python 运行得像 C 一样快
    illuminate/routing 源码分析之注册路由
    php利用32进制实现对id加密解密
    微信小程序支付全问题解决
  • 原文地址:https://www.cnblogs.com/x0815/p/11967843.html
Copyright © 2011-2022 走看看