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


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 相关文章推荐
jQueryUI的Dialog的简单封装
Jun 07 Javascript
查看图片(前进后退)功能实现js代码
Apr 24 Javascript
详细解读JavaScript编程中的Promise使用
Jul 27 Javascript
用JS实现轮播图效果(二)
Jun 26 Javascript
js实现上传文件添加和删除文件选择框
Oct 24 Javascript
基于Node的React图片上传组件实现实例代码
May 10 Javascript
vue给input file绑定函数获取当前上传的对象完美实现方法
Dec 15 Javascript
echarts整合多个类似option的方法实例
Jul 10 Javascript
webpack4简单入门实例
Sep 06 Javascript
vue this.reload 方法 配置
Sep 12 Javascript
VUE v-model表单数据双向绑定完整示例
Jan 21 Javascript
Vue 解决通过this.$refs来获取DOM或者组件报错问题
Jul 28 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中使用CURL伪造来路抓取页面或文件
2011/05/04 PHP
php循环语句 for()与foreach()用法区别介绍
2012/09/05 PHP
php分页函数示例代码分享
2014/02/24 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
2016/03/03 PHP
PHP中addslashes与mysql_escape_string的区别分析
2016/04/25 PHP
Yii实现复选框批量操作实例代码
2017/03/15 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
2018/05/23 PHP
脚本吧 - 幻宇工作室用到js,超强推荐expand.js
2006/12/23 Javascript
用正则xmlHttp实现的偷(转)
2007/01/22 Javascript
JQuery AJAX 中文乱码问题解决
2013/06/05 Javascript
JavaScript中使用自然对数ln的方法
2015/06/14 Javascript
js给table赋值的实例代码
2016/10/13 Javascript
JS控制div跳转到指定的位置的几种解决方案总结
2016/11/05 Javascript
写一个移动端惯性滑动&amp;回弹Vue导航栏组件 ly-tab
2018/03/06 Javascript
vue+echarts实现可拖动节点的折线图(支持拖动方向和上下限的设置)
2019/04/12 Javascript
使用js实现一个简单的滚动条过程解析
2019/09/10 Javascript
JavaScript中Object、map、weakmap的区别分析
2020/12/15 Javascript
[02:07]DOTA2超级联赛专访BBC:难忘网吧超神经历
2013/06/09 DOTA
多线程爬虫批量下载pcgame图片url 保存为xml的实现代码
2013/01/17 Python
Python内置函数的用法实例教程
2014/09/08 Python
Python代码实现KNN算法
2017/12/20 Python
用Python写一段用户登录的程序代码
2018/04/22 Python
python 实现在txt指定行追加文本的方法
2018/04/29 Python
让Python脚本暂停执行的几种方法(小结)
2019/07/11 Python
pycharm 关闭search everywhere的解决操作
2021/01/15 Python
详解Sticky Footer 绝对底部的两种套路
2017/11/03 HTML / CSS
C++:局部变量能否和全局变量重名
2014/03/03 面试题
《云房子》教学反思
2014/04/20 职场文书
党员群众路线个人整改措施思想汇报
2014/10/12 职场文书
承诺保证书格式
2015/02/28 职场文书
小人国观后感
2015/06/11 职场文书
通讯稿格式及范文
2015/07/22 职场文书
工作感想范文
2015/08/07 职场文书
先进教师个人主要事迹材料
2015/11/03 职场文书
节约用水广告语60条
2019/11/14 职场文书
教你使用Python pypinyin库实现汉字转拼音
2021/05/27 Python