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


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 相关文章推荐
javascript之函数直接量(function(){})()
Jun 29 Javascript
Javascript(AJAX)解析XML的代码(兼容FIREFOX/IE)
Jul 11 Javascript
判断浏览器的javascript版本的代码
Sep 03 Javascript
javascript提取URL的搜索字符串中的参数(自定义函数实现)
Jan 22 Javascript
javascript中数组的冒泡排序使用示例
Dec 18 Javascript
JavaScript中一个奇葩的IE浏览器判断方法
Apr 16 Javascript
js行号显示的文本框实现效果(兼容多种浏览器 )
Oct 23 Javascript
jquery判断复选框是否选中进行答题提示特效
Dec 10 Javascript
jQuery简单实现列表隐藏和显示效果示例
Sep 12 Javascript
微信小程序中input标签详解及简单实例
May 18 Javascript
纯JavaScript实现实时反馈系统时间
Oct 26 Javascript
在小程序中使用canvas的方法示例
Sep 17 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
ThinkPHP连接数据库的方式汇总
2014/12/05 PHP
php读取mssql的ntext字段返回值为空的解决方法
2014/12/30 PHP
PHP实现发送邮件的方法(基于简单邮件发送类)
2015/12/17 PHP
PHP基于自定义函数生成笛卡尔积的方法示例
2017/09/30 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
2019/05/09 PHP
javascript removeChild 使用注意事项
2009/04/11 Javascript
你必须知道的JavaScript 中字符串连接的性能的一些问题
2013/05/07 Javascript
javascript中比较字符串是否相等的方法
2013/07/23 Javascript
javascript模拟实现C# String.format函数功能代码
2013/11/25 Javascript
从数据库读取数据后将其输出成html标签的三种方法
2014/10/13 Javascript
jQuery实现的个性化返回底部与返回顶部特效代码
2015/10/30 Javascript
AngularJs Injecting Services Into Controllers详解
2016/09/02 Javascript
web 前端常用组件之Layer弹出层组件
2016/09/22 Javascript
Vue.js动态添加、删除选题的实例代码
2016/09/30 Javascript
JS表格组件神器bootstrap table使用指南详解
2017/04/12 Javascript
JS在if中的强制类型转换方式
2018/07/15 Javascript
JavaScript中的this原理及6种常见使用场景详解
2020/02/14 Javascript
在Python中利用Pandas库处理大数据的简单介绍
2015/04/07 Python
Python 含参构造函数实例详解
2017/05/25 Python
Python简单计算给定某一年的某一天是星期几示例
2018/06/27 Python
python利用插值法对折线进行平滑曲线处理
2018/12/25 Python
python plotly绘制直方图实例详解
2019/07/22 Python
学Python 3的理由和必要性
2019/11/19 Python
Tensorflow 1.0之后模型文件、权重数值的读取方式
2020/02/12 Python
python代码中怎么换行
2020/06/17 Python
浅谈利用缓存来优化HTML5 Canvas程序的性能
2015/05/12 HTML / CSS
绿色家庭事迹材料
2014/05/01 职场文书
关于工作时间玩手机的检讨书
2014/09/18 职场文书
2014年学生会干事工作总结
2014/11/07 职场文书
小区保洁员岗位职责
2015/04/10 职场文书
祝福语集锦:给妹妹结婚的祝福语
2019/12/18 职场文书
Pandas实现DataFrame的简单运算、统计与排序
2022/03/31 Python
vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决
2022/04/06 Vue.js
Elasticsearch 配置详解
2022/04/19 Java/Android
浅谈Node的内存泄露问题
2022/05/06 NodeJs
html5+实现plus.io进行拍照和图片等获取
2022/06/01 HTML / CSS