看了就会的JS(第一章)

你不知道的Javascript:第一章,精简图示版

一、作用域是什么?

问题:声明的变量住在哪?程序需要时怎么找到它们?

解决这个问题,需要一套用来储存变量+便利寻找的规则,这套规则就是作用域

1.1 编译原理

编译:程序中一段源代码执行前要经历的所有步骤,传统编译语言的流程一般有三个:词法分析(分词)、语法分析(解析)、代码生成;

编译步骤

1.2作用域嵌套

作用域是根据名称查找变量的一套规则,实际情况中,通常需要同时顾及多个作用域。

当存在包含关系的时候,就发生作用域的嵌套;引擎从当前执行作用域开始,由内到外逐层寻找,直到找到该变量,或者到达最外层(全局作用域)也没找到为止。

可以理解为你在家找钥匙,先在桌子上找,没有,再去客厅找,没有,再整个家都翻一遍。因为你知道进门的时候是用钥匙开的门,所有丢也只会丢在家里。如果家里也找不到就放弃不找了。

这样一条向更大作用域范围寻找的路径链路,被称为作用域链

作用域链图示
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 又一次阅读阿里编程规范,发现有不少条目又给忘了,离上次阅读大概一个多月。我的阅读习惯应该还不错,每次看书籍之类的不...
    思与学阅读 4,023评论 5 3
  • 阿里巴巴 JAVA 开发手册 1 / 32 Java 开发手册 版本号 制定团队 更新日期 备 注 1.0.0 阿...
    糖宝_阅读 7,679评论 0 5
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,748评论 1 45
  • 前言说是前言,其实也是本文诞生的目的。随着公司业务的不断增加,功能的快速迭代,app的业务线越来越多,代码体积变得...
    Mr_yinwei阅读 647评论 0 0
  • 说明命名尽量做到见名知意,采用驼峰标识,禁止使用拼音或者表意不明确的标识(比如bianliang、i、j);命名无...
    陈祥_阅读 956评论 0 5