美文网首页
作用域问题

作用域问题

作者: 此处应该有一个名字 | 来源:发表于2018-09-26 14:53 被阅读0次

    --前言

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

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

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

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

    --e.g.4  声明变量

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

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

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

    --后记

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

    未完待续~

    相关文章

      网友评论

          本文标题:作用域问题

          本文链接:https://www.haomeiwen.com/subject/brjugftx.html