• 执行上下文


    执行上下文概念

    执行上下文(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、确定作用域

  • 相关阅读:
    Using Change Management and Change Control Within a Project
    swift3.0 label改变行间距
    swift清理缓存
    Alamofire的get请求,post请求,以及上传字典
    swift跳转时隐藏tabbar,跳回时显示
    swift获取当前的Version
    swift回收键盘
    OC中常用的设计模式
    关于iOS多线程
    理解 : UDID、UUID、IDFA、IDFV
  • 原文地址:https://www.cnblogs.com/x0815/p/11967843.html
Copyright © 2020-2023  润新知