如何简单解释javascript中的scope chain?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

如何简单解释javascript中的scope chain?

2016-03-11 16:47:10 1515 1

看了一些资料还是不太理解,有没有简单通俗一点的解释。

取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 18:59:37

    通俗的解释:

    想象一下每个函数执行的时候,都会在背地里建立一个对象V。函数内定义的所有局部变量(包括函数参数)都放在这个对象上,作为这个对象的属性。就是说我们访问函数的局部变量时,实际上就是访问的对象V的一个属性而已。
    这个对象V经常被叫做变量对象,顾名思义就是存放变量的对象。
    每个函数在运行时都会自动建立一个变量对象V。而且内部函数的变量对象里面有一个指针指向外部函数的变量对象。
    假设由于这个指针的存在,导致若干个嵌套了N层的函数在运转时形成了一个链表结构。这个链表经常被叫做作用域链。
    注:

    注意变量对象和作用域链都是运行时概念。而且是JS引擎的内部机制,从代码的角度是不可见的。
    如果看到这里你还不能彻底明白,那么你应该去看一下数据结构中的链表那一节了。

    0 0
相关问答

12

回答

在阿里云上安装和运行Node.js全功略

ycwong 2013-09-18 15:17:30 66110浏览量 回答数 12

19

回答

【分享】如何提高网站的打开速度?

enj0y 2012-11-17 14:35:22 57701浏览量 回答数 19

145

回答

【新手入门】云服务器linux使用手册

fanyue88888 2012-11-26 17:14:18 159386浏览量 回答数 145

28

回答

钉钉开放平台“常见问题常见问题常见问题“重要请关注

竹梅 2015-12-03 00:39:14 95915浏览量 回答数 28

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 148504浏览量 回答数 22

31

回答

[@倚贤][¥20]刚学完html/css/js的新手学习servlet、jsp需要注意哪些问题?

弗洛伊德6 2018-10-27 21:52:43 147483浏览量 回答数 31

23

回答

【云服务器分享】网站访问速度快才是硬道理

dreamdoo 2012-10-15 10:15:02 86366浏览量 回答数 23

251

回答

阿里云LNAMP(Linux + Nginx + Apache + MySQL + PHP)环境一键安装脚本

云代维 2014-02-14 15:26:06 309265浏览量 回答数 251

13

回答

【云服务器分享】如何节省网站流量

dreamdoo 2012-10-15 10:36:09 81438浏览量 回答数 13

15

回答

对象存储oss【问答合集】

我是管理员 2018-08-03 14:54:02 69069浏览量 回答数 15
+关注
0
文章
14879
问答
问答排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载