js中的全局变量和局部变量
因为js中只用两种作用域,也就对应这两种类型的变量。
1:全局变量 -> 在全局范围内都是可以访问的。
2:局部变量 -> 只能在当前作用域进行访问。
在js中有一种特殊的情况,在函数作用域内声明的变量,没有用var字,那么该变量是一个全局变量。
再看一个例子:
总结:
1:子集作用域内是可以访问父级作用域(或上一级)的变量,但是父级作用域是不能访问到子集作用域内的变量。
2:在访问某一个变量的时候,先在当前作用域查找是否有该变量,就近原则,如果没有,往上一级查找(父级),如果还没有,接着往上查找,直到全局作用域,如果还没有,返回的就是一个undefined。
3:没有使用var声明的变量是全局变量,不推荐使用。
4:变量超出作用域之后就会被销毁,全局变量在关闭页面或关闭浏览器时才会被销毁,所以尽量少使用全局变量,会占内存空间的。
----------------------------------------------------------------------
补充:什么时候变量的值会是undefined?
有两种情况:
1:没有该变量,也就是没有定义该变量
2:定义了该变量,但是没有给该变量赋值。
转载于:https://blog.51cto.com/11871779/2120006
js中的全局变量和局部变量相关推荐
- js中避免全局变量冗杂的解决方式
1.在开发前端当中,经常会定义一些全局变量,想在整个js中的方法都能使用,但是在一个js中定义全局变量后,会出现在其它js冗杂的问题,所以对变量的定义还得注意重名等问题. 解决方式: 在js中定义匿名 ...
- 微信小程序app.js中的全局变量globalData改变,如何通知其它页面界面显示改变,小程序中如何在其他页面中监听到globalData中值的变化
微信小程序app.js中的全局变量globalData改变,如何通知其它页面界面显示改变,小程序中如何在其他页面中监听到globalData中值的变化 在小程序中,我们一般在app.js的onLaun ...
- 在python中、关于全局变量和局部变量_在Python中,关于全局变量和局部变量,以下选项中描述不正确的是...
[单选题]Python文本处理方向的第三方库是 [单选题]哪个选项的描述是正确的? [单选题]以下选项中属于Python语言中合法的二进制整数是 [单选题]以下说法错误的是: [单选题]下面属于B2B ...
- python中的全局变量与局部变量
全局变量与局部变量两者的本质区别就是在于作用域,全局变量即在整个程序中,任何地方都可以访问.而局部变量,试着在函数内部声明的变量,当函数运行结束时,局部变量就会被内存释放. 例子: 1 name='z ...
- 函数体中的全局变量与局部变量
首先看一道笔试题: 1 var a = 100; 2 function testResult(){ 3 var b = 2 * a; 4 var a = 200; 5 var c = a / 2; 6 ...
- 全局变量_Python函数中的全局变量与局部变量
# a,b变量是全局变量,在整个py文件中都可以访问 a = 11 b = 12 # 定义一个函数 def first(): # 这个变量是函数内部定义的变量,属于局部变量,只能在函数中使用 c = ...
- python获取程序文件中的全局变量和局部变量的函数
目录 global()和locals()函数 (一)演示示例 (二)程序执行结果 (三)简单使用 (四)参考资料 global()和locals()函数 使用global()可以获取Python中的全 ...
- Java中的全局变量和局部变量——简单区别
全局变量 Java中不能定义全局变量,在一个类中的公共.静态变量就相当于这个类的全局变量. 这使得全局变量被封装在了类里,保证了安全性. 局部变量 Java中方法体或某个代码块中声明的变量被称为局部变 ...
- 全局变量局部变量ScriptCase中的全局变量、局部变量
工作之余抽点时间出来写写博文,希望对新接触的朋友有帮助.今天在这里和大家一起学习一下全局变量局部变量 在做一套应用的时候,有时候须要用到全局变量,比如:登录胜利后就将用户名保存上去,然后在每个页面里都 ...
最新文章
- MySQL / 可重复读到底是怎么实现的?图解 ReadView 机制
- IIS 8.5配置.net网站[花了半个多小时]
- 排序算法02--冒泡排序
- B 站神曲 damedane:精髓在于换脸,五分钟就能学会
- css代码颜色十六进制大全
- 第一个python程序-判断登陆用户名和密码是否正确
- 20180810 突然发现自己不小心跑到了数据分析呈现岗位
- access vba代码全部丢失_Access2016由于无法读取数据库中所含的VBA工程,因此无法打开此数据库。只有先删除VBA工程,然后才能打开数据库...
- 合取范式 (CNF)
- ecshop手机支付宝支付篡改金额BUG
- Mono.Cecil DefaultAssemblyResolver.Dispose
- RPG Maker MV 遇敌对战
- 前端学习:浏览器缓存方式有哪些(cookie、localstorage、sessionstorage)
- 玩转你的开发板-1.4.第1季第4部分-朱有鹏-专题视频课程
- 【硬核】年底绩效面谈,涨薪,老板给加了1万块
- 最小生成树图之-Prim算法和Kruskal算法
- 同态加密:分圆多项式简介
- Week3:[任务三] nn网络层-池化、线性、激活函数网络层
- 一个HTTP请求的一生
- (Java实现) 自然数的拆分
热门文章
- fft的c语言和matlab对比_Matlab系列之程序控制
- Android Volley完全解析3:定制自己的Request
- 自定义控件:旋转菜单
- React Native
- 第三章 PLSQL Developer 安装前oracleclient客户端的配置,在用plsql 连接oracle服务器
- gamma分布python代码_Python sympy.stats.NormalGamma()用法及代码示例
- Spring常见注解
- mysql外键约束脚本_如何在MySQL中设置外键约束
- 将你的Apache速度提高十倍的经验分享
- SpringBoot——项目搭建、整合Mybatis、整合redis(集群)