资讯专栏INFORMATION COLUMN

javascript的执行环境和作用域的理解1

Raaabbit / 2831人阅读

摘要:执行环境又称作执行上下文,其作用就是规定了对环境内的变量还有函数的操作权利,主要分为全局的执行环境和局部的执行环境。创建作用域链的作用主要是让每个嵌套关联的执行环境中的变量和函数有序的调用和操作。

1 执行环境(exeution context)又称作执行上下文,其作用就是规定了对环境内的变量还有函数的操作权利,主要分为全局的执
行环境和局部的执行环境。

2 当一段代码进行运行的时候,他就会进入一个执行环境,同事在该执行环境内创建一个变量对象(VO)主要用来保存这个执
行环境里的变量函数声明(比如全局的变量对象就声明了一些全局的函数,比如说Math,所以我们可以直接在全局中直接调用这个
函数),同时创建作用域链,作用域链的顶端始终是当前执行环境的变量对象,尾端是全局的执行环境的变量对象,当执行的代
码是一个函数的时候,就会创建一个活动对象(AO),将这个活动对象作为变量对象。于此同时活动对象里会定义一个
argument的对象。
创建作用域链的作用主要是让每个嵌套关联的执行环境中的变量和函数有序的调用和操作1。

3 每一个进入执行环境的环境都会被push进环境栈里,执行完之后,该环境会从执行环境栈中pop出来。在某个执行环境的所有
代码都执行完毕后,环境将被销毁,意味着其中所有变量和函数定义也都随之销毁;全局执行环境的销毁是在网页或浏览器关闭
时执行的;在某个执行环境的所有代码都执行完毕后,环境将被销毁,意味着其中所有变量和函数定义也都随之销毁;全局执行
环境的销毁是在网页或浏览器关闭时执行的;在某个执行环境的所有代码都执行完毕后,环境将被销毁,意味着其中所有变量和
函数定义也都随之销毁;全局执行环境的销毁是在网页或浏览器关闭时执行的;

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/82045.html

相关文章

  • javascript执行环境作用理解

    摘要:作用域链的用途,是保证对执行环境有权访问的所有变量和函数的有序访问。这样,一直延续到全局执行环境全局执行环境的变量对象始终都是作用域链中的最后一个对象。标识符解析是沿着作用域链一级一级地搜索标识符的过程。 执行环境(execution context,为简单起见,有时也成为环境)是javascript中最为重要的一个概念。执行环境定义了变量或函数有权访问的其他数据,决定了它们各自...

    BearyChat 评论0 收藏0
  • 谈谈javascript语法里一些难点问题(二)

    摘要:讲作用域链首先要从作用域讲起,下面是百度百科里对作用域的定义作用域在许多程序设计语言中非常重要。原文出处谈谈语法里一些难点问题二 3) 作用域链相关的问题 作用域链是javascript语言里非常红的概念,很多学习和使用javascript语言的程序员都知道作用域链是理解javascript里很重要的一些概念的关键,这些概念包括this指针,闭包等等,它非常红的另一个重要原因就...

    Enlightenment 评论0 收藏0
  • 前端进击巨人(三):从作用域走进闭包

    摘要:进击的巨人第三篇,本篇就作用域作用域链闭包等知识点,一一击破。在此我们遵照的方式,暂且称是闭包。所以,一名合格的前端,除了会用闭包,还要正确的解除闭包引用。 进击的巨人第三篇,本篇就作用域、作用域链、闭包等知识点,一一击破。 showImg(https://segmentfault.com/img/bVburWd?w=1280&h=854); 作用域 作用域:负责收集并维护由所有声明的...

    Vicky 评论0 收藏0
  • 讲清楚之javascript作用

    摘要:并且作用域链也确定了在当前上下文中查找标识符后返回的值。为了具象化分析问题,我们可以假设作用域链是一个数组,数组成员有一系列变量对象组成。注意,所有作用域链的最末端都为全局变量对象。所以作用域作用域链都是在当前运行环境内代码执行前就确定了。 什么是作用域(Scope)? 作用域产生于程序源代码中定义变量的区域,在程序编码阶段就确定了。javascript 中分为全局作用域(Global...

    whidy 评论0 收藏0
  • 讲清楚之javascript作用

    摘要:并且作用域链也确定了在当前上下文中查找标识符后返回的值。为了具象化分析问题,我们可以假设作用域链是一个数组,数组成员有一系列变量对象组成。注意,所有作用域链的最末端都为全局变量对象。所以作用域作用域链都是在当前运行环境内代码执行前就确定了。 什么是作用域(Scope)? 作用域产生于程序源代码中定义变量的区域,在程序编码阶段就确定了。javascript 中分为全局作用域(Global...

    jonh_felix 评论0 收藏0

发表评论

0条评论

Raaabbit

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<