美文网首页
作用域问题

作用域问题

作者: 此处应该有一个名字 | 来源:发表于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.变量名。

--后记

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

未完待续~

相关文章

  • 「JS」变量作用域

    作用域介绍静态作用域动态作用域 JavaScript 变量作用域词法环境组成创建结构关于词法环境的问题with 语...

  • JavaScript散乱(四、细节)

    js高级 案例问题 作用域和作用域链 全局作用域也就是window和函数作用域,不考虑es6的块级作用域前提下,作...

  • 第八节: JavaScript中this指向问题

    1. this指向问题 1.1 认识词法作用域 其实我们js中的作用域就是词法作用域,我们会发现词法作用域最重要的...

  • 第八节 JavaScript中this指向问题

    this指向问题 1.1 认识词法作用域 其实我们js中的作用域就是词法作用域,我们会发现词法作用域最重要的特征是...

  • 从作用域出发解决知识点

    作用域 何为作用域,这种问题其实很难受,绝大部分人对于作用域没有太多的概念,更多的是对于局部作用域和全局作用域的区...

  • 作用域问题

    --前言 写在前面,想介绍一下变量的作用域的问题。关于作用域来说最主要是了解在不同的环境下,变量的作用域会发生变化...

  • 作用域问题

  • 【新手向】ES6常见概念初体验

    一、var和let命令 作用域  ES5的作用域只有全局作用域和函数作用域,这会带来很多问题,比如常用的for循环...

  • js基础6(作用域、js解析顺序)

    1、作用域 作用域用于就是变量访问性问题 全局作用域在script其实标签到结束标签都是在全局作用域里,在函数体之...

  • ES5实现ES6的let

    块级作用域 在javascript中只有全局作用域和函数作用域,并不存在块级作用域。这样,在使用时就会出现一些问题...

网友评论

      本文标题:作用域问题

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