作用域问题

--前言

写在前面,想介绍一下变量的作用域的问题。关于作用域来说最主要是了解在不同的环境下,变量的作用域会发生变化,像if for 语句中没有块级作用域时,和类C语言的作用域不同。同时对于声明的方式也需要考虑清楚,当用var声明后,则变量会初始化并有一个明确的作用域,而不声明的话,则会在最外层声明,在内层初始化,使之变为全局变量。

-- e.g.1 全局变量作用域

--e.g.2 全局变量和局部变量作用域比较

--e.g.3 没有块级作用域

--e.g.4  声明变量

在编写JavaScript 代码的过程中,不声明而直接初始化变量是一个常见的错误做法,因为这样可能会导致意外。我们建议在初始化变量之前,一定要先声明,这样就可以避免类似问题。在严格模式下,初始化未经声明的变量会导致错误。

--e.g.5 查询标志符

对于变量的搜索分两步,先搜索局部变量,若存在则搜索结束,若不存在则向上搜索作用域链,以获取所需要的变量。若想访问全局变量可用window.变量名。

--后记

作用域的确定还是要根据变量的所处的环境来判别,需要仔细,同时需要对语法规则有一定的认知,最好不要不声明而初始化变量。

未完待续~

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

推荐阅读更多精彩内容