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


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 简短几句代码实现给元素动态添加及获取提示信息
Sep 01 Javascript
jQuery点击后一组图片左右滑动的实现代码
Aug 16 Javascript
JavaScript取得WEB安全颜色列表的方法
Jul 14 Javascript
Bootstrap轮播加上css3动画,炫酷到底!
Dec 22 Javascript
JavaScript函数绑定用法实例分析
Nov 14 Javascript
jquery 输入框查找关键字并提亮颜色的实例代码
Jan 23 jQuery
ES6学习笔记之map、set与数组、对象的对比
Mar 01 Javascript
JS实现的碰撞检测与周期移动完整示例
Sep 02 Javascript
微信小程序可滑动周日历组件使用详解
Oct 21 Javascript
小程序实现录音上传功能
Nov 22 Javascript
js回调函数原理与用法案例分析
Mar 04 Javascript
vue3.0自定义指令(drectives)知识点总结
Dec 27 Vue.js
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中cookie的作用域
2008/03/27 PHP
php db类库进行数据库操作
2009/03/19 PHP
ExtJS与PHP、MySQL实现存储的方法
2010/04/02 PHP
分析php://output和php://stdout的区别
2018/05/06 PHP
Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作示例
2019/10/12 PHP
ExtJS Grid使用SimpleStore、多选框的方法
2009/11/20 Javascript
jQuery powerFloat万能浮动层下拉层插件使用介绍
2010/12/27 Javascript
浅谈JavaScript Array对象
2014/12/29 Javascript
jQuery简单tab切换效果实现方法
2015/04/08 Javascript
详解vue 配合vue-resource调用接口获取数据
2017/06/22 Javascript
Vue2.0用 watch 观察 prop 变化(不触发)
2017/09/08 Javascript
Node.js实现连接mysql数据库功能示例
2017/09/15 Javascript
vue实现商城上货组件简易版
2017/11/27 Javascript
详解webpack require.ensure与require AMD的区别
2017/12/13 Javascript
jQuery实现浏览器之间跳转并传递参数功能【支持中文字符】
2018/03/28 jQuery
node.js遍历目录的方法示例
2018/08/01 Javascript
JavaScript对JSON数组简单排序操作示例
2019/01/31 Javascript
Vue使用axios出现options请求方法
2019/05/30 Javascript
微信小程序实现原生步骤条
2019/07/25 Javascript
python实现从一组颜色中找出与给定颜色最接近颜色的方法
2015/03/19 Python
pygame学习笔记(3):运动速率、时间、事件、文字
2015/04/15 Python
Python正则表达式使用范例分享
2016/12/04 Python
详解pandas的外部数据导入与常用方法
2019/05/01 Python
pyenv与virtualenv安装实现python多版本多项目管理
2019/08/17 Python
python Matplotlib模块的使用
2020/09/16 Python
Django扫码抽奖平台的配置过程详解
2021/01/14 Python
CSS3实现粒子旋转伸缩加载动画
2016/04/22 HTML / CSS
Sisley法国希思黎美国官方网站:享誉全球的奢华植物美容品牌
2020/06/27 全球购物
技校学生个人职业生涯规划范文
2014/03/03 职场文书
品质口号大全
2014/06/17 职场文书
学习考察心得体会
2014/09/04 职场文书
庆六一开幕词
2015/01/29 职场文书
写给孩子的新学期寄语
2015/02/27 职场文书
呼啸山庄读书笔记
2015/06/29 职场文书
开学季:喜迎新生,迎新标语少不了
2019/11/07 职场文书
HTML5之高度塌陷问题的解决
2022/06/01 HTML / CSS