关于全局变量和局部变量的那些事


Posted in Javascript onJanuary 11, 2013

变量对于学习js,学习编程语言的同学在熟悉不过了,在这里就不在阐述官方的定义了,网上太多了,今天我们就从生活中来理解他

1.什么是变量?
比如:
一个水杯里面装了水,这个水杯就是变量;
一瓶啤酒,这个啤酒瓶就是变量;
变量就是一个载体,一个媒介

2.定义变量
var a=12;//typeof a=Numer
var a=‘aaa' //typeof a =string
由此可见 变量的类型取决于给他付了什么值
例如,一个杯子,装了水就是水杯,装了酒就是酒杯,装了醋就是醋瓶

3.变量类型
变量类型分为:基本类型和引用类型
基本类型分为:Number(数字类型),String(字符串类型),Boolean(布尔类型),Undefined(未定义),Null
引用类型:大多数是Obiect(对象)
基本类型值是保存在栈内存中的简单的数据,他在内存中占一个位置;
引用类型值是保存在堆内存中的对象,在栈内存中存放的是地址,这个地址指向堆内存中的对象

1.局部变量

<scripttype="text/javascript"> 
functionaaa() 
{ 
vara=10; 
} 
functionbbb() 
{ 
alert(a) 
} 
aaa() 
bbb() 
</script>

运行结果:错误:“a”未定义,a是局部变量,他只属于函数aaa,并不属于函数bbb
2.全局变量1
<scripttype="text/javascript"> 
vara 
functionaaa() 
{ 
vara=10; 
} 
functionbbb() 
{ 
alert(a) 
} 
aaa() 
bbb() 
</script>

运行结果:弹出undefined,这也是变量的类型之一,只不过是undefined类型,他并不同等与第一种的未定义
变量的类型是由赋给变量的值决定的,这个时候bbb函数里的a是全局变量,虽然var了,但是并没有指定值,所以是undefined
3.全局变量2
<scripttype="text/javascript"> 
vara 
functionaaa() 
{ 
a=10; 
} 
functionbbb() 
{ 
alert(a) 
} 
aaa() 
bbb() 
</script>

运行结果:10,a是全局变量并且通过函数aaa赋了值——10
ps:我们经常称undefined是未定义,都是通过1和2,是不是可以说undefined≠未定义呢
Javascript 相关文章推荐
25个好玩的JavaScript小游戏分享
Apr 22 Javascript
Javascript base64编码实现代码
Dec 02 Javascript
JS中使用Array函数shift和pop创建可忽略参数的例子
May 28 Javascript
javascript实现简单的省市区三级联动
May 14 Javascript
jQuery密码强度检测插件passwordStrength用法实例分析
Oct 30 Javascript
Angular2中Bootstrap界面库ng-bootstrap详解
Oct 18 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
Mar 06 Javascript
利用Ionic2 + angular4实现一个地区选择组件
Jul 27 Javascript
Angular4学习笔记之实现绑定和分包
Aug 01 Javascript
vuejs父子组件之间数据交互详解
Aug 09 Javascript
ES6中Array.find()和findIndex()函数的用法详解
Sep 16 Javascript
jquery实现抽奖功能
Oct 22 jQuery
jquery延迟加载外部js实现代码
Jan 11 #Javascript
jquery.bgiframe.js在IE9下提示INVALID_CHARACTER_ERR错误
Jan 11 #Javascript
jQuery Pagination Ajax分页插件(分页切换时无刷新与延迟)中文翻译版
Jan 11 #Javascript
jquery post方式传递多个参数值后台以数组的方式进行接收
Jan 11 #Javascript
实用的JS正则表达式(手机号码/IP正则/邮编正则/电话等)
Jan 11 #Javascript
解决Extjs 4 Panel作为Window组件的子组件时出现双重边框问题
Jan 11 #Javascript
解决ExtJS在chrome或火狐中正常显示在ie中不显示的浏览器兼容问题
Jan 11 #Javascript
You might like
PHP的openssl加密扩展使用小结(推荐)
2016/07/18 PHP
基于php判断客户端类型
2016/10/14 PHP
extjs中grid中嵌入动态combobox的应用
2011/01/01 Javascript
非jQuery实现照片散落桌子上,单击放大的LightBox效果
2014/11/28 Javascript
使用jQuery实现图片遮罩半透明坠落遮挡
2015/03/16 Javascript
js实现文本框选中的方法
2015/05/26 Javascript
JavaScript实现可拖拽的拖动层Div实例
2015/08/05 Javascript
jQuery+css实现的时钟效果(兼容各浏览器)
2016/01/27 Javascript
cocos creator Touch事件应用(触控选择多个子节点的实例)
2017/09/10 Javascript
基于bootstrap写的一点localStorage本地储存
2017/11/21 Javascript
使用webpack打包koa2 框架app
2018/02/02 Javascript
小程序如何在不同设备上自适应生成海报的实现方法
2019/08/20 Javascript
JS防抖和节流实例解析
2019/09/24 Javascript
JavaScript中使用Spread运算符的八种方法总结
2020/06/18 Javascript
vue实现列表滚动的过渡动画
2020/06/29 Javascript
python爬虫的工作原理
2017/03/05 Python
python版飞机大战代码分享
2018/11/20 Python
python 使用matplotlib 实现从文件中读取x,y坐标的可视化方法
2019/07/04 Python
python读写csv文件并增加行列的实例代码
2019/08/01 Python
python 3.6.7实现端口扫描器
2019/09/04 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
2019/10/18 Python
tensorflow 固定部分参数训练,只训练部分参数的实例
2020/01/20 Python
Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
2020/05/28 Python
使用Python项目生成所有依赖包的清单方式
2020/07/13 Python
使用HTML5的File实现base64和图片的互转
2013/08/01 HTML / CSS
html5手机键盘弹出收起的处理
2020/01/20 HTML / CSS
阿联酋航空丹麦官方网站:Emirates DK
2019/08/25 全球购物
施华洛世奇新加坡官网:SWAROVSKI新加坡
2020/10/06 全球购物
大学生自我鉴定
2013/12/16 职场文书
五型班组建设方案
2014/02/10 职场文书
领导干部廉政承诺书
2014/03/27 职场文书
土地转让协议书范本
2014/04/15 职场文书
婚内房产协议书范本
2014/10/02 职场文书
庆七一晚会主持词
2015/06/30 职场文书
Python爬虫之爬取某文库文档数据
2021/04/21 Python
MongoDB数据库之添删改查
2022/04/26 MongoDB