JavaScript中var关键字的使用详解


Posted in Javascript onAugust 14, 2015

作用
声明作用;如声明个变量。
语法  

var c = 1;

省略var
在javascript中,若省略var关键字而直接赋值,那么这个变量为全局变量,哪怕是在function里定义的。

<script type="text/javascript"> 
  function Define() { 
    a = 2; 
  } 
  function Hello() { 
    alert(a); 
  } 
</script>

如代码所示,运行函数Define()后,变量a声明为全局变量。在Hello()函数中可以引用变量a。

更具体的示例
我们都知道 JavaScript 中的var关键字是用来申明变量的,但是如果不用这个关键字而直接写出变量名,然后赋值给它,JavaScript 也并不会报错,它会自动申明这个变量。难道说 JavaScript 中的var是个多余的东西吗?显然不是!

请看下面这段代码:

str1 = 'Hello JavaScript!';
function fun1() {
 str1 = 'Hello Java!';
}
fun1();
alert(str1);

// 弹出 Hello Java!

可以看到,在函数 fun1 被调用后,str1 的值在函数内被改变了。

再将上面的代码稍作修改:

str1 = 'Hello JavaScript!';
function fun1() {
 var str1 = 'Hello Java!';
}
fun1();
alert(str1);

// 弹出 Hello JavaScript!

看到没有,str1 的值并没有被函数 fun1 改变。

显然,var关键字影响了变量的作用域。

函数外部:变量不管是否用了var申明,都是全局变量。

函数内部:变量如果没有使用var关键字申明,那它就是全局变量,只有用var关键字申明了,才是局部变量。
结论

为了避免潜在的风险,务必使用var关键字来申明变量。

Javascript 相关文章推荐
JavaScript面向对象之体会[总结]
Nov 13 Javascript
提取jquery的ready()方法单独使用示例
Mar 25 Javascript
js四舍五入数学函数round使用实例
May 09 Javascript
原生javascript实现图片无缝滚动效果
Feb 12 Javascript
Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题的解决方法
Feb 27 Javascript
JS实现新建文件夹功能
Jun 17 Javascript
js实现以最简单的方式将数组元素添加到对象中的方法
Dec 20 Javascript
微信小程序实现传参数的几种方法示例
Jan 10 Javascript
JS简单实现动态添加HTML标记的方法示例
Apr 08 Javascript
vue.js图片转Base64上传图片并预览的实现方法
Aug 02 Javascript
html-webpack-plugin修改页面的title的方法
Jun 18 Javascript
vue点击按钮实现简单页面的切换
Sep 08 Javascript
JavaScript的jQuery库中ready方法的学习教程
Aug 14 #Javascript
js实现当复选框选择匿名登录时隐藏登录框效果
Aug 14 #Javascript
JavaScript学习笔记之DOM基础 2.4
Aug 14 #Javascript
关于JavaScript的变量的数据类型的判断方法
Aug 14 #Javascript
js实现表单检测及表单提示的方法
Aug 14 #Javascript
JavaScript中的this关键字使用详解
Aug 14 #Javascript
JS实现双击编辑可修改状态的方法
Aug 14 #Javascript
You might like
mysql 的 like 问题,超强毕杀记!!!
2007/01/18 PHP
CodeIgniter记录错误日志的方法全面总结
2016/05/17 PHP
JavaScript Event学习第三章 早期的事件处理程序
2010/02/07 Javascript
jQuery 快速结束当前正在执行的动画
2013/11/20 Javascript
jquery解析json格式数据的方法(对象、字符串)
2015/11/24 Javascript
JS代码随机生成姓名、手机号、身份证号、银行卡号
2016/04/27 Javascript
Javascript 调用 ActionScript 的简单方法
2016/09/22 Javascript
DOM事件探秘篇
2017/02/15 Javascript
JS实现弹出下载对话框及常见文件类型的下载
2017/07/13 Javascript
使用Vue.js 和Chart.js制作绚丽多彩的图表
2019/06/15 Javascript
jquery轻量级数字动画插件countUp.js使用详解
2019/10/17 jQuery
vue+element实现图片上传及裁剪功能
2020/06/29 Javascript
vue点击按钮实现简单页面的切换
2020/09/08 Javascript
[00:38]TI珍贵瞬间系列(二):笑
2020/08/26 DOTA
windows环境下tensorflow安装过程详解
2018/03/30 Python
python如何查看微信消息撤回
2018/11/27 Python
彻底理解Python中的yield关键字
2019/04/01 Python
Python操作Mongodb数据库的方法小结
2019/09/10 Python
python 实现rolling和apply函数的向下取值操作
2020/06/08 Python
python操作toml文件的示例代码
2020/11/27 Python
结合CSS3的新特性来总结垂直居中的实现方法
2016/05/30 HTML / CSS
法国时尚童装网站:Melijoe
2016/08/10 全球购物
英国领先的男装设计师服装购物网站:Mainline Menswear
2018/02/04 全球购物
幼儿园儿童节活动主持词+串词大全
2014/03/21 职场文书
退休教师欢送会主持词
2014/03/31 职场文书
摄影专业毕业生求职信
2014/08/05 职场文书
社区关爱留守儿童活动方案
2014/08/22 职场文书
交通安全横幅标语
2014/10/07 职场文书
党的群众路线教育实践活动教师自我剖析材料
2014/10/09 职场文书
硕士学位论文评语
2014/12/31 职场文书
2015年敬老月活动总结
2015/03/27 职场文书
小学班主任心得体会
2016/01/07 职场文书
观看安全警示教育片心得体会
2016/01/15 职场文书
入党申请书怎么写?
2019/06/11 职场文书
制定企业培训计划的五大要点!
2019/07/10 职场文书
vue使用echarts实现折线图
2022/03/21 Vue.js