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 相关文章推荐
基于JQuery的简单实现折叠菜单代码
Sep 15 Javascript
JS简单实现文件上传实例代码(无需插件)
Nov 15 Javascript
JavaScript数值数组排序示例分享
May 27 Javascript
js实现网站最上边可关闭的浮动广告条代码
Sep 04 Javascript
微信小程序 石头剪刀布实例代码
Jan 04 Javascript
jQuery实现表格元素动态创建功能
Jan 09 Javascript
JavaScript ES6中const、let与var的对比详解
Jun 18 Javascript
Angular中支持SCSS的方法
Nov 18 Javascript
关于react中组件通信的几种方式详解
Dec 10 Javascript
vue数据操作之点击事件实现num加减功能示例
Jan 19 Javascript
微信小程序传值以及获取值方法的详解
Apr 29 Javascript
vue自定义插件封装,实现简易的elementUi的Message和MessageBox的示例
Nov 20 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
雄兵连:天使彦天使彦为爱折翼,彦和炙心同时念动的誓言!
2020/03/02 国漫
20个PHP常用类库小结
2011/09/11 PHP
hadoop常见错误以及处理方法详解
2013/06/19 PHP
PHP中include与require使用方法区别详解
2013/10/19 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
2014/04/18 PHP
js getBoundingClientRect() 来获取页面元素的位置
2010/11/25 Javascript
js history对象简单实现返回和前进
2013/10/30 Javascript
JavaScript插件化开发教程(五)
2015/02/01 Javascript
Node.js刷新session过期时间的实现方法推荐
2016/05/18 Javascript
基于JavaScript实现右键菜单和拖拽功能
2016/11/28 Javascript
如何理解jQuery中的ajaxSubmit方法
2017/03/13 Javascript
NodeJS学习笔记之Module的简介
2017/03/24 NodeJs
JS自定义滚动条效果简单实现代码
2020/10/27 Javascript
vue实现评价星星功能
2020/06/30 Javascript
JS制作简易计算器的实例代码
2020/07/04 Javascript
[01:52]2020年DOTA2 TI10夏季活动预告片
2020/07/15 DOTA
[01:22:29]真视界:2019年国际邀请赛总决赛
2020/01/29 DOTA
python高手之路python处理excel文件(方法汇总)
2016/01/07 Python
python安装oracle扩展及数据库连接方法
2017/02/21 Python
Python简单操作sqlite3的方法示例
2017/03/22 Python
Python实现破解12306图片验证码的方法分析
2017/12/29 Python
使用Python写一个小游戏
2018/04/02 Python
python 计算平均平方误差(MSE)的实例
2019/06/29 Python
python简单区块链模拟详解
2019/07/03 Python
用Cython加速Python到“起飞”(推荐)
2019/08/01 Python
pytorch构建多模型实例
2020/01/15 Python
中国医药集团国药在线:国药网
2017/02/06 全球购物
Lentiamo丹麦:购买便宜的隐形眼镜
2021/01/13 全球购物
Jowissa官方网站:瑞士制造的手表,优雅简约的设计
2020/07/29 全球购物
几道PHP的面试题
2012/05/19 面试题
四年大学生活的个人自我评价
2013/12/11 职场文书
优秀党支部事迹材料
2014/01/14 职场文书
四风问题自我剖析材料
2014/10/07 职场文书
个人投资合作协议书
2014/10/12 职场文书
学历证明样本
2015/06/16 职场文书
2015年中秋晚会主持稿
2015/07/30 职场文书