1. 作用域指的是您有权访问的变量(对象和函数也是变量)集合。

2. JavaScript函数作用域

2.1. 在JavaScript中有两种作用域类型:

  • 局部作用域
  • 全局作用域

2.2. JavaScript拥有函数作用域: 每个函数创建一个新的作用域。事实上代码块{}也可以创建一个作用域, 只不过代码块一般用于函数。

2.3. 作用域决定了这些变量的可访问性(可见性)。

2.4. 函数内部定义的变量在函数外部是不可访问的(不可见的)。

3. 局部变量

3.1. 在JavaScript函数中声明的变量, 会成为函数的局部变量。

3.2. 局部变量只能在函数内访问。

3.3. 由于局部变量只能被其函数识别, 因此可以在不同函数中使用相同名称的变量。

3.4. 局部变量在函数开始时创建, 在函数完成时被删除。

3.5. 实例

// 此处的代码不能使用carNamefunction myFunction() {var carName = "Volvo";// 此处的代码可以使用carName
}

4. 全局变量

4.1. 函数之外声明的变量, 会成为全局变量。

4.2. 全局变量的作用域是全局的: 网页的所有脚本和函数都能够访问它。

4.3. 实例

var carName = "porsche";// 此处的代码能够使用carName变量function myFunction() {// 此处的代码也能够使用carName变量
}

5. 自动全局

5.1. 如果您为尚未声明的变量赋值, 此变量会自动成为全局变量。

5.2. 这段代码将声明一个全局变量carName, 即使在函数内进行了赋值。

myFunction();// 此处的代码能够使用carName变量function myFunction() {carName = "porsche";
}

5.3. 在"严格模式"中不会自动创建全局变量。所有现代浏览器都支持以"严格模式"运行JavaScript。

6. 全局对象

6.1. 在web浏览器中, 全局对象就是浏览器对象(window)。

6.2. 所有全局变量均属于window对象。

6.3. 如果一个函数不是JavaScript对象的方法, 那么它属于window对象的函数。

7. JavaScript变量的有效期

7.1. JavaScript变量的有效期始于其被创建时。

7.2. 局部变量会在函数完成时被删除。

7.3. 全局变量会在您关闭页面是被删除。

060_JavaScript作用域相关推荐

  1. TENSORFLOW变量作用域(VARIABLE SCOPE)

    举例说明 TensorFlow中的变量一般就是模型的参数.当模型复杂的时候共享变量会无比复杂. 官网给了一个case,当创建两层卷积的过滤器时,每输入一次图片就会创建一次过滤器对应的变量,但是我们希望 ...

  2. [JS] undefined、null、ReferenceError的区别、变量作用域问题

    undefined.null.ReferenceError的区别 null表示"没有对象",即该处不应该有值. 典型用法是: (1) 作为函数的参数,表示该函数的参数不是对象. ( ...

  3. JS中的作用域(一)-详谈

    本篇文章在于详细解读JavaScript的作用域,从底层原理来解释一些常见的问题,例如变量提升.隐式创建变量等问题,在和大家一起交流进步的同时,也算对自己知识掌握的记录,方便以后复习 首先,直接捡干的 ...

  4. C++ 笔记(06)— 变量作用域(局部变量、全局变量、静态局部变量)

    作用域是程序的一个区域,一般来说有三个地方可以定义变量: 在函数或一个代码块内部声明的变量,称为局部变量: 在函数参数的定义中声明的变量,称为形式参数: 在所有函数外部声明的变量,称为全局变量: 1. ...

  5. Go 学习笔记(6)— 变量定义、变量声明、变量作用域

    1. 变量定义 Go 语言变量名由字母.数字.下划线组成,其中首个字符不能为数字.声明变量的一般形式是使用 var 关键字: var varName dataType [= value] Go 语言和 ...

  6. 【Spring】bean的作用域(@Scope) - singleton、prototype

    已知spring 3+已拥有多种不同的作用域: singleton(默认).prototype.request.session.global session.(参考: spring中scope作用域( ...

  7. 160630、五句话搞定JavaScript作用域

    JavaScript的作用域一直以来是前端开发中比较难以理解的知识点,对于JavaScript的作用域主要记住几句话,走遍天下都不怕.   一."JavaScript中无块级作用域" ...

  8. 词法作用域和动态作用域

    JavaScript采用的是词法作用域 1.词法作用域 即函数定义时,即确定的作用域.js中的作用域链,在函数声明时候,就已经确定了,无论函数在何处调用,其作用域变量的查找都是按照定义是包含关系去查找 ...

  9. javascript变量声明 及作用域

    javascript变量声明提升(hoisting) http://openwares.net/js/javascript_declaration_hoisting.html 可能要FQ一下 java ...

最新文章

  1. 收官礼 | 《神策 2018 数据驱动大会回顾专刊》发布,你要的干货,已打包!
  2. 使用Exceptionless记录日志
  3. 在屏幕上将1234逐位打印出来1,2,3,4
  4. 计算机用户账户无法打开浏览器,请问怎么样禁止一个电脑用户使用IE浏览器
  5. vue cli vue 3.x
  6. 怎么判断一个字符串的最长回文子串是否在头尾_LeetCode 第 131 号问题:分割回文串...
  7. 没有bug队——加贝——Python 练习实例 9,10
  8. 微信小程序头部导航栏自定义
  9. matlab charl,基于MATLAB/Simulink的双闭环SPWM变频调速系统仿真.pdf
  10. eclipse java读取文件_在eclipse完成对Java_web项目里面资源文件的读取
  11. 如何用 Python 爬取网易云音乐的 10w+ 评论?附详细代码解读
  12. praat 语音识别教程
  13. ENVI学习总结(八)——图像镶嵌
  14. Salty Fish(区间和)
  15. 块级元素水平,垂直居中的两种方式
  16. 【文章汇总】嵌入式Linux公众号
  17. 可靠性 可用性 可维护性
  18. JAVA毕业设计华水疫情预警与防护用品调度系统计算机源码+lw文档+系统+调试部署+数据库
  19. Vulnhub靶机系列:SecTalks: BNE0x03 - Simple
  20. 吃鸡是python写的吗_用Python来P图,分析怎么吃鸡?只有想不到,没有做不到

热门文章

  1. linux下挂载移动硬盘
  2. rcp errata
  3. Fibonacii数列,兔子问题
  4. smart pointer in gamedev
  5. Centos6.5下配置DNS服务器
  6. SD-WAN的体系结构是如何提高网络灵活性和效率?
  7. 2019年,SD-WAN的回顾与展望
  8. CentOS下yum安装rabbitMQ
  9. vs2013编译apr时遇到的疑难杂症
  10. Centos7.6安装redis