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转换字符串为dom对象(字符串动态创建dom)
May 10 Javascript
JQuery从头学起第二讲
Jul 04 Javascript
jQuery编辑器KindEditor4.1.4代码高亮显示设置教程
Mar 01 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
Feb 17 Javascript
快速解决Canvas.toDataURL 图片跨域的问题
May 10 Javascript
前端js实现文件的断点续传 后端PHP文件接收
Oct 14 Javascript
JavaScript实现的仿新浪微博原生态输入字数即时检查功能【兼容IE6】
Sep 26 Javascript
JavaScript运行原理分析
Feb 09 Javascript
微信小程序云开发之新手环境配置
May 16 Javascript
layui给下拉框、按钮状态、时间赋初始值的方法
Sep 10 Javascript
使用JavaScrip模拟实现仿京东搜索框功能
Oct 16 Javascript
Vue toFixed保留两位小数的3种方式
Oct 23 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
7个鲜为人知却非常实用的PHP函数
2015/07/01 PHP
php数字运算验证码的实现代码
2015/07/30 PHP
php析构函数的简单使用说明
2015/08/24 PHP
Laravel 5.1 on SAE环境开发教程【附项目demo源码】
2016/10/09 PHP
php基于Redis消息队列实现的消息推送的方法
2018/11/28 PHP
Laravel框架基于中间件实现禁止未登录用户访问页面功能示例
2019/01/17 PHP
JavaScript Timer实现代码
2010/02/17 Javascript
jquery.AutoComplete.js中文修正版(支持firefox)
2010/04/09 Javascript
jquery下checked取值问题的解决方法
2012/08/09 Javascript
浅析document.createDocumentFragment()与js效率
2013/07/08 Javascript
一个实用的图片切换支持点击切换和自动轮播
2014/09/09 Javascript
基于jQuery实现的文字按钮表单特效整理
2014/12/07 Javascript
JavaScript中诡异的delete操作符
2015/03/12 Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
2016/12/13 Javascript
JS中对数组元素进行增删改移的方法总结
2016/12/15 Javascript
过期软件破解办法实例详解
2017/01/04 Javascript
Vue页面骨架屏的实现方法
2018/05/22 Javascript
vue实现学生录入系统之添加删除功能
2018/07/11 Javascript
详解angular分页插件tm.pagination二次触发问题解决方案
2018/07/20 Javascript
Django模板继承 extend标签实例代码详解
2019/05/16 Javascript
小程序使用watch监听数据变化的方法详解
2019/09/20 Javascript
JavaScript 自定义html元素鼠标右键菜单功能
2019/12/02 Javascript
深入理解Python中字典的键的使用
2015/08/19 Python
Python用模块pytz来转换时区
2016/08/19 Python
python发送邮件实例分享
2017/07/28 Python
PyQt5每天必学之切换按钮
2020/08/20 Python
Python 控制终端输出文字的实例
2019/07/12 Python
python 实现朴素贝叶斯算法的示例
2020/09/30 Python
python中使用np.delete()的实例方法
2021/02/01 Python
欧舒丹美国官网:L’Occitane美国
2018/02/23 全球购物
材料化学应届生求职信
2013/10/09 职场文书
男女朋友协议书
2014/04/23 职场文书
学校运动会霸气口号
2014/06/07 职场文书
平面设计师岗位职责
2014/09/18 职场文书
开学第一周日记(三篇范文)
2019/08/23 职场文书
Java elasticsearch安装以及部署教程
2021/06/28 Java/Android