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事件问题
Sep 05 Javascript
JavaScript 利用Cookie记录用户登录信息
Dec 08 Javascript
Javascript 通过json自动生成Dom的代码
Apr 01 Javascript
!DOCTYPE声明对JavaScript的影响分析
Apr 12 Javascript
js获取视频时长代码
Apr 10 Javascript
Firefox下无法正常显示年份的解决方法
Sep 04 Javascript
jquery常用的12个小功能
Jul 22 Javascript
AngularJS实现星星等级评分功能
Sep 24 Javascript
JS中SetTimeout和SetInterval使用初探
Mar 23 Javascript
vue中页面跳转拦截器的实现方法
Aug 23 Javascript
使用clipboard.js实现复制功能的示例代码
Oct 16 Javascript
element-ui tree结构实现增删改自定义功能代码
Aug 31 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
献给php初学者(入门学习经验谈)
2010/10/12 PHP
window+nginx+php环境配置 附配置搭配说明
2010/12/29 PHP
PHP无刷新上传文件实现代码
2011/09/19 PHP
php数字游戏 计算24算法
2012/06/10 PHP
php对xml文件的增删改查操作实现方法分析
2017/05/19 PHP
php基于环形链表解决约瑟夫环问题示例
2017/11/07 PHP
javascript globalStorage类代码
2009/06/04 Javascript
利用location.hash实现跨域iframe自适应
2010/05/04 Javascript
JQuery select控件的相关操作实现代码
2012/09/14 Javascript
js replace正则表达式应用案例讲解
2013/01/17 Javascript
从数据结构分析看:用for each...in 比 for...in 要快些
2013/04/17 Javascript
JavaScript实现对下拉列表值进行排序的方法
2015/07/15 Javascript
js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
2015/11/09 Javascript
BootStrap使用file-input插件上传图片的方法
2016/09/05 Javascript
微信小程序 框架详解及实例应用
2016/09/26 Javascript
微信小程序 window_x64环境搭建
2016/09/30 Javascript
Node.js中常规的文件操作总结
2016/10/13 Javascript
jQuery实现腾讯信用界面(自制刻度尺)样式
2017/08/15 jQuery
JS一个简单的注册页面实例
2017/09/05 Javascript
10个经典的网页鼠标特效代码
2018/01/09 Javascript
vue-cli 打包使用history模式的后端配置实例
2018/09/20 Javascript
JavaScript学习笔记之DOM操作实例分析
2019/01/08 Javascript
[05:23]DOTA2-DPC中国联赛2月1日Recap集锦
2021/03/11 DOTA
python和shell变量互相传递的几种方法
2013/11/20 Python
pycharm 使用心得(三)Hello world!
2014/06/05 Python
在Django中限制已登录用户的访问的方法
2015/07/23 Python
在Pytorch中计算自己模型的FLOPs方式
2019/12/30 Python
离线状态下在jupyter notebook中使用plotly实例
2020/04/24 Python
值得收藏的HTML5资源(学习html5的朋友可以收藏下)
2010/07/20 HTML / CSS
amazeui页面分析之登录页面的示例代码
2020/08/25 HTML / CSS
ONLY瑞典官网:世界知名服装品牌
2018/06/19 全球购物
火锅店创业计划书范文
2014/02/02 职场文书
《草原》教学反思
2014/02/15 职场文书
吨的认识教学反思
2014/04/27 职场文书
幼儿教师师德承诺书
2014/05/23 职场文书
工会2014法制宣传日活动总结
2014/11/01 职场文书