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 相关文章推荐
Js 刷新框架页的代码
Apr 13 Javascript
基于JQuery的数字改变的动画效果--可用来做计数器
Aug 11 Javascript
防止浏览器记住用户名及密码的简单实用方法
Apr 22 Javascript
js弹窗返回值详解(window.open方式)
Jan 11 Javascript
使用JavaScript获取电池状态的方法
May 03 Javascript
理解javascript中的MVC模式
Jan 28 Javascript
bootstrap按钮插件(Button)使用方法解析
Jan 13 Javascript
js实现符合国情的日期插件详解
Jan 19 Javascript
webpack引入eslint配置详解
Jan 22 Javascript
浅谈React Event实现原理
Sep 20 Javascript
vue实现从外部修改组件内部的变量的值
Jul 30 Javascript
vue实现拖拽交换位置
Apr 07 Vue.js
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
php中的一个中文字符串截取函数
2007/02/14 PHP
PHP生成sitemap.xml地图函数
2013/11/13 PHP
有关于PHP中常见数据类型的汇总分享
2014/01/06 PHP
php ajax confirm 删除实例详解
2019/03/06 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
2019/06/14 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
javascript知识点收藏
2007/02/22 Javascript
var与Javascript变量隐式声明
2009/09/17 Javascript
通过javascript设置css属性的代码
2009/12/28 Javascript
js简单的点击返回顶部效果实现方法
2015/04/10 Javascript
node.js回调函数之阻塞调用与非阻塞调用
2015/11/13 Javascript
浅析AngularJS Filter用法
2015/12/28 Javascript
javascript+HTML5自定义元素播放焦点图动画
2016/02/21 Javascript
探讨AngularJs中ui.route的简单应用
2016/11/16 Javascript
vue.js入门(3)——详解组件通信
2016/12/02 Javascript
Jquery Easyui验证组件ValidateBox使用详解(20)
2016/12/18 Javascript
JS中LocalStorage与SessionStorage五种循序渐进的使用方法
2017/07/12 Javascript
在vue里面设置全局变量或数据的方法
2018/03/09 Javascript
JS添加或删除HTML dom元素的方法实例分析
2019/03/05 Javascript
JavaScript Math对象和调试程序的方法分析
2019/05/13 Javascript
vue控制多行文字展开收起的实现示例
2019/10/11 Javascript
Python 通过pip安装Django详细介绍
2017/04/28 Python
Python求解任意闭区间的所有素数
2018/06/10 Python
opencv 获取rtsp流媒体视频的实现方法
2019/08/23 Python
python使用信号量动态更新配置文件的操作
2020/04/01 Python
Python闭包及装饰器运行原理解析
2020/06/17 Python
PyCharm中配置PySide2的图文教程
2020/06/18 Python
app内嵌H5 webview 本地缓存问题的解决
2020/10/19 HTML / CSS
美国孕妇装品牌:Destination Maternity
2018/02/04 全球购物
SQL数据库笔试题
2016/03/08 面试题
采购部岗位职责
2013/11/24 职场文书
班组长的岗位职责
2013/12/09 职场文书
营销总经理的岗位职责
2013/12/15 职场文书
伊琍体标语
2014/06/25 职场文书
投资入股协议书
2016/03/22 职场文书
Nginx反向代理及负载均衡如何实现(基于linux)
2021/03/31 Servers