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中的constructor和prototype
Apr 07 Javascript
Jquery实现三层遍历删除功能代码
Apr 23 Javascript
js添加table的行和列 具体实现方法
Jul 22 Javascript
js捕获鼠标滚轮事件代码
Dec 16 Javascript
javascript数据类型验证方法
Dec 31 Javascript
jQuery数据类型小结(14个)
Jan 08 Javascript
jQuery制作网页版选项卡
Jul 28 Javascript
jQuery插件ajaxFileUpload异步上传文件
Oct 19 Javascript
获取url中用&amp;隔开的参数实例(分享)
May 28 Javascript
JS中图片压缩的方法小结
Nov 14 Javascript
Vue-cli@3.0 插件系统简析
Sep 05 Javascript
微信小程序实现选项卡效果
Nov 06 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
CodeIgniter框架数据库事务处理的设计缺陷和解决方案
2014/07/25 PHP
php给一组指定关键词添加span标签的方法
2015/03/31 PHP
PHP新建类问题分析及解决思路
2015/11/19 PHP
yii2超好用的日期组件和时间组件
2016/05/05 PHP
PHP laravel中的多对多关系实例详解
2017/06/07 PHP
PHP快速排序算法实现的原理及代码详解
2019/04/03 PHP
PHP底层运行机制与工作原理详解
2020/07/31 PHP
JS获取后台Cookies值的小例子
2013/03/04 Javascript
表单元素与非表单元素刷新区别详细解析
2013/11/06 Javascript
javascript返回顶部的按钮实现方法
2016/01/09 Javascript
3kb jQuery代码搞定各种树形选择的实现方法
2016/06/10 Javascript
JS实现图片垂直居中显示小结
2016/12/13 Javascript
最全正则表达式总结:验证QQ号、手机号、Email、中文、邮编、身份证、IP地址等
2017/08/16 Javascript
JavaScript实现鼠标滚轮控制页面图片切换功能示例
2017/10/14 Javascript
微信小程序实现点击按钮修改view标签背景颜色功能示例【附demo源码下载】
2017/12/06 Javascript
nodejs微信开发之自动回复的实现
2019/03/17 NodeJs
layui点击数据表格添加或删除一行的例子
2019/09/12 Javascript
vue页面更新patch的实现示例
2020/03/25 Javascript
python实现的一个火车票转让信息采集器
2014/07/09 Python
在Django中创建第一个静态视图
2015/07/15 Python
python爬虫_微信公众号推送信息爬取的实例
2017/10/23 Python
详解Python sys.argv使用方法
2019/05/10 Python
浅谈python 中类属性共享的问题
2019/07/02 Python
pytorch:torch.mm()和torch.matmul()的使用
2019/12/27 Python
python目标检测给图画框,bbox画到图上并保存案例
2020/03/10 Python
pycharm 使用tab跳出正在编辑的括号(){}{}等问题
2021/02/26 Python
ProBikeKit德国:在线公路自行车专家
2018/06/03 全球购物
毕业生找工作的求职信范文
2013/12/24 职场文书
期末考试动员演讲稿
2014/01/10 职场文书
出纳员岗位责任制
2014/02/11 职场文书
本科生就业推荐信
2014/05/19 职场文书
小学运动会报道稿
2014/10/04 职场文书
MySQL系列之三 基础篇
2021/07/02 MySQL
MySQL磁盘碎片整理实例演示
2022/04/03 MySQL
分析SQL窗口函数之取值窗口函数
2022/04/21 Oracle
Python docx库删除复制paragraph及行高设置图片插入示例
2022/07/23 Python