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


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 相关文章推荐
为jQuery.Treeview添加右键菜单的实现代码
Oct 22 Javascript
jQuery性能优化的38个建议
Mar 04 Javascript
AngularJS过滤器详解及示例代码
Aug 16 Javascript
javascript设计模式之Adapter模式【适配器模式】实现方法示例
Jan 13 Javascript
JQ中$(window).load和$(document).ready区别与执行顺序
Mar 01 Javascript
JavaScript实现求最大公共子串的方法
Feb 03 Javascript
详解vue-cli 快速搭建单页应用之遇到的问题及解决办法
Mar 01 Javascript
Vue中computed与methods的区别详解
Mar 24 Javascript
vue+axios实现文件下载及vue中使用axios的实例
Sep 21 Javascript
解决cordova+vue 项目打包成APK应用遇到的问题
May 10 Javascript
layui radio单选限制下一个radio单选的实例
Sep 03 Javascript
用原生JS实现爱奇艺首页导航栏代码实例
Sep 19 Javascript
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计划任务、定时执行任务的实现代码
2011/04/23 PHP
php设计模式  Command(命令模式)
2011/06/17 PHP
谈谈关于php的优点与缺点
2013/04/11 PHP
浅析Laravel5中队列的配置及使用
2016/08/04 PHP
php从身份证获取性别和出生年月
2017/02/09 PHP
phpStudy配置多站点多域名方法及遇到的403错误解决方法
2017/10/19 PHP
php根据命令行参数生成配置文件详解
2019/03/15 PHP
jQuery lazyload 的重复加载错误以及修复方法
2010/11/19 Javascript
js两行代码按指定格式输出日期时间
2011/10/21 Javascript
js内存泄露的几种情况详细探讨
2013/05/31 Javascript
jquery中$.post()方法的简单实例
2014/02/04 Javascript
javascript写的异步加载js文件函数(支持数组传参)
2014/06/07 Javascript
深入理解JavaScript系列(36):设计模式之中介者模式详解
2015/03/04 Javascript
纯javascript实现简单下拉刷新功能
2015/03/13 Javascript
jquery获得当前html页面源码的方法
2015/07/14 Javascript
javascript的replace方法结合正则使用实例总结
2016/06/16 Javascript
bootstrap datetimepicker实现秒钟选择下拉框
2017/01/05 Javascript
利用JavaScript在网页实现八数码启发式A*算法动画效果
2017/04/16 Javascript
详解小程序之简单登录注册表单验证
2019/05/13 Javascript
Vue插件之滑动验证码用法详解
2020/04/05 Javascript
Jquery cookie插件实现原理代码解析
2020/08/04 jQuery
10种检测Python程序运行时间、CPU和内存占用的方法
2015/04/01 Python
python查找目录下指定扩展名的文件实例
2015/04/01 Python
在IIS服务器上以CGI方式运行Python脚本的教程
2015/04/25 Python
超简单使用Python换脸实例
2019/03/27 Python
python之拟合的实现
2019/07/19 Python
如何基于Python实现电子邮件的发送
2019/12/16 Python
如何给Python代码进行加密
2020/01/10 Python
详解python爬取弹幕与数据分析
2020/11/14 Python
西班牙太阳镜品牌:Hawkers
2018/03/11 全球购物
狗狗玩具、零食和咀嚼物的月度送货服务:Super Chewer
2018/08/22 全球购物
Vinatis德国:法国领先的葡萄酒邮购公司
2020/09/07 全球购物
听课评语大全
2014/04/30 职场文书
新学期国旗下演讲稿
2014/05/08 职场文书
清洁工岗位职责
2015/02/13 职场文书
2016公司年会通知范文
2015/04/25 职场文书