iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >JavaScript作用域链是什么
  • 896
分享到

JavaScript作用域链是什么

2024-04-02 19:04:59 896人浏览 独家记忆
摘要

本篇内容介绍了“javascript作用域链是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!作用域1.

本篇内容介绍了“javascript作用域链是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

JavaScript作用域链是什么

作用域

1.什么是作用域

简单来说,作用域(英文:scope)是据名称来查找变量的一套规则,可以把作用域通俗理解为一个封闭的空间,这个空间是封闭的,不会对外部产生影响,外部空间不能访问内部空间,但是内部空间可以访问将其包裹在内的外部空间。

2.[[Scopes]]属性

在javascript中,每个函数都是一个对象,在对象中有些属性我们可以访问,有些我们是不能自由访问的,[[Scopes]]属性就是其中之一,这个属性只能被JavaScript引擎读取。

其实[[scope]]就是我们常说的作用域,其中存储了作用域运行期的上下文集合

在这里因为func.prototype.constructor和func指向同一个函数,所以在这里我们通过访问函数func的原型对象来查看[[Scopes]]属性

JavaScript作用域链是什么

3.作用域链

[[scope]]中存储的执行期的上下文对象的集合,这个集合呈链式连接,我们把这种链式连接叫做作用域链。JavaScript正是通过作用域链来查找变量的,其查找方式是沿着作用域链的顶端依次向下查询(在哪个函数内部查找对象,就在哪个函数作用域链中查找)

4.图解查找变量原理

//以如下代码为例说明JavaScript通过作用域链查找变量的原理**
function a() {
  function b() {
      var b = 123;
  }
  var a = 123;
  b();
}
var glob = 100;

1.当全局函数a()被定义时,作用域链如下

JavaScript作用域链是什么

函数的[[Scopes]]属性指向作用域链对象,此时作用域链只有一个键值对,这个键值对指向全局对象,全局对象存储了全局下可以访问的东西,也就是最外层作用域,大家都可以访问的。

2.当全局函数a()被激活调用时,作用域链如下

JavaScript作用域链是什么

此时作用域链能够第一个访问的是Activation Object中的键值对,如果没有才访问全局对象

3.函数a()中函数b被定义时,b的作用域链如下

JavaScript作用域链是什么

当b只是被定义没有被调用时,b的作用域链和a是相同的

4.当函数a()中的函数b被激活调用时,作用域链如下

JavaScript作用域链是什么

作用域链最先指向函数b()的Activation Object,查找变量也是按作用域链顺序访问,找到就停止

“JavaScript作用域链是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: JavaScript作用域链是什么

本文链接: https://www.lsjlt.com/news/88483.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript作用域链是什么
    本篇内容介绍了“JavaScript作用域链是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!作用域1....
    99+
    2024-04-02
  • Javascript的作用域和作用域链是什么
    这篇文章主要介绍Javascript的作用域和作用域链是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Javascript 的作用域和作用域链作用域: 作用域是定义变量...
    99+
    2024-04-02
  • JavaScript作用域链是什么及怎么使用
    这篇文章主要介绍了JavaScript作用域链是什么及怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript作用域链是什么及怎么使用文章都会有所收获,下面我们一起来看看吧。1. 作用域是什么...
    99+
    2023-07-04
  • 什么是作用域与作用域链
    本篇内容主要讲解“什么是作用域与作用域链”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“什么是作用域与作用域链”吧!作用域如果说执行上下文是代码的执行环境,那么作...
    99+
    2024-04-02
  • JavaScript的作用域链有什么用
    JavaScript的作用域链有什么用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。JavaScript的作用域链这是一个非常...
    99+
    2024-04-02
  • 什么是JavaScript作用域
    本篇内容介绍了“什么是JavaScript作用域”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在JavaS...
    99+
    2024-04-02
  • javascript作用域和作用域链详解
    目录一、javascript的作用域1、全局作用域2、局部作用域二、javascript的作用域链三、作用域链和优化四、改变作用域链1、with语法改变作用域链2、catch语法总结...
    99+
    2024-04-02
  • JS作用域和作用域链的区别是什么
    本篇内容介绍了“JS作用域和作用域链的区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!作用域(Sc...
    99+
    2024-04-02
  • javascript中什么是作用域
    这篇文章给大家介绍javascript中什么是作用域,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。JavaScript可以做什么1.可以使网页具有交互性,例如响应用户点击,给用户提供更好的体验。2.可以处理表单,检验用...
    99+
    2023-06-14
  • JavaScript作用域与作用域链优化方式
    目录前言内容作用域作用域的嵌套作用域的一些实现细节作用域链相关优化总结前言 作用域和作用域链是所有JavaScript开发人员每天都要接触和应用的内容。不管是面试中的作用域链的面试考...
    99+
    2024-04-02
  • 如何分析javascript作用域和作用域链
    如何分析javascript作用域和作用域链,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、javascript的作用域1、全局作用域1、最外层函数和最外层函...
    99+
    2023-06-28
  • JavaScript 中方法链的作用是什么
    本篇文章给大家分享的是有关JavaScript 中方法链的作用是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。方法链的例子在处理字符串时有...
    99+
    2024-04-02
  • JavaScript作用域和作用域链的示例分析
    这篇文章给大家分享的是有关JavaScript作用域和作用域链的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。作用域(Scope)1. 什么是作用域作用域是在运行时代码中...
    99+
    2024-04-02
  • javascript中作用域指的是什么
    javascript中作用域指的是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在javascript中,作用域是变量(对象、函数)的...
    99+
    2024-04-02
  • JavaScript中作用域工作模型是什么
    这篇文章主要介绍了JavaScript中作用域工作模型是什么 ,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。JavaScript内功系列:this指向详解,思维脑图与代码的结...
    99+
    2023-06-14
  • JavaScript作用域与作用域链使用重点讲解
    作用域和作用域链方面的知识是JS的重点,去面试十个有八个都会问你这块的知识,所以说这块是特别特别的重要,下面我们好好理解一下作用域和作用域链到底是个什么: 先上一段代码: var a...
    99+
    2022-11-13
    JS作用域与作用域链 JS作用域 JS作用域链
  • Javascript的作用域、作用域链以及闭包详解
    一、javascript中的作用域 ①全局变量-函数体外部进行声明 ②局部变量-函数体内部进行声明 1)函数级作用域 javascript语言中局部变量不同于C#、Java等高级语言...
    99+
    2024-04-02
  • JavaScript详细解析之作用域链
    以上就是JavaScript详细解析之作用域链的详细内容,更多请关注编程网其它相关文章!...
    99+
    2022-11-22
    JavaScript 前端
  • Javascript之作用域、作用域链、闭包的示例分析
    这篇文章主要介绍Javascript之作用域、作用域链、闭包的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!什么是作用域?作用域是一种规则,在代码编译阶段就确定了,规定了变量...
    99+
    2024-04-02
  • javascript作用于作用域链的示例分析
    这篇文章主要介绍javascript作用于作用域链的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、JavaScript作用域任何程序设计语言都有作用域的概念,简单的说,作...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作