060_JavaScript作用域
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作用域相关推荐
- TENSORFLOW变量作用域(VARIABLE SCOPE)
举例说明 TensorFlow中的变量一般就是模型的参数.当模型复杂的时候共享变量会无比复杂. 官网给了一个case,当创建两层卷积的过滤器时,每输入一次图片就会创建一次过滤器对应的变量,但是我们希望 ...
- [JS] undefined、null、ReferenceError的区别、变量作用域问题
undefined.null.ReferenceError的区别 null表示"没有对象",即该处不应该有值. 典型用法是: (1) 作为函数的参数,表示该函数的参数不是对象. ( ...
- JS中的作用域(一)-详谈
本篇文章在于详细解读JavaScript的作用域,从底层原理来解释一些常见的问题,例如变量提升.隐式创建变量等问题,在和大家一起交流进步的同时,也算对自己知识掌握的记录,方便以后复习 首先,直接捡干的 ...
- C++ 笔记(06)— 变量作用域(局部变量、全局变量、静态局部变量)
作用域是程序的一个区域,一般来说有三个地方可以定义变量: 在函数或一个代码块内部声明的变量,称为局部变量: 在函数参数的定义中声明的变量,称为形式参数: 在所有函数外部声明的变量,称为全局变量: 1. ...
- Go 学习笔记(6)— 变量定义、变量声明、变量作用域
1. 变量定义 Go 语言变量名由字母.数字.下划线组成,其中首个字符不能为数字.声明变量的一般形式是使用 var 关键字: var varName dataType [= value] Go 语言和 ...
- 【Spring】bean的作用域(@Scope) - singleton、prototype
已知spring 3+已拥有多种不同的作用域: singleton(默认).prototype.request.session.global session.(参考: spring中scope作用域( ...
- 160630、五句话搞定JavaScript作用域
JavaScript的作用域一直以来是前端开发中比较难以理解的知识点,对于JavaScript的作用域主要记住几句话,走遍天下都不怕. 一."JavaScript中无块级作用域" ...
- 词法作用域和动态作用域
JavaScript采用的是词法作用域 1.词法作用域 即函数定义时,即确定的作用域.js中的作用域链,在函数声明时候,就已经确定了,无论函数在何处调用,其作用域变量的查找都是按照定义是包含关系去查找 ...
- javascript变量声明 及作用域
javascript变量声明提升(hoisting) http://openwares.net/js/javascript_declaration_hoisting.html 可能要FQ一下 java ...
最新文章
- 收官礼 | 《神策 2018 数据驱动大会回顾专刊》发布,你要的干货,已打包!
- 使用Exceptionless记录日志
- 在屏幕上将1234逐位打印出来1,2,3,4
- 计算机用户账户无法打开浏览器,请问怎么样禁止一个电脑用户使用IE浏览器
- vue cli vue 3.x
- 怎么判断一个字符串的最长回文子串是否在头尾_LeetCode 第 131 号问题:分割回文串...
- 没有bug队——加贝——Python 练习实例 9,10
- 微信小程序头部导航栏自定义
- matlab charl,基于MATLAB/Simulink的双闭环SPWM变频调速系统仿真.pdf
- eclipse java读取文件_在eclipse完成对Java_web项目里面资源文件的读取
- 如何用 Python 爬取网易云音乐的 10w+ 评论?附详细代码解读
- praat 语音识别教程
- ENVI学习总结(八)——图像镶嵌
- Salty Fish(区间和)
- 块级元素水平,垂直居中的两种方式
- 【文章汇总】嵌入式Linux公众号
- 可靠性 可用性 可维护性
- JAVA毕业设计华水疫情预警与防护用品调度系统计算机源码+lw文档+系统+调试部署+数据库
- Vulnhub靶机系列:SecTalks: BNE0x03 - Simple
- 吃鸡是python写的吗_用Python来P图,分析怎么吃鸡?只有想不到,没有做不到