javascript定义变量时有var和没有var的区别探讨


Posted in Javascript onJuly 21, 2014

我们先来看一段代码

function show(){ 
alert(abc); 
} 
var abc="defg"; 
show();

有过C++或Java编程经验的人可能会说:“这程序,死定了,变量竟然在引用了该变量的函数后边定义,bug会灭掉你的。”放在浏览器上运行一下,结果怎样?完美运行!接下来我们就说一下这是咋回事——有var和没有var定义的变量的区别。

1、没有var

简明的说,定义变量时省略var是不安全的,不过是合法的。这时无论该变量是在什么位置定义的,解释器都会赋予该变量以全局作用域。

2、有var

安全的,合法的。定义的变量的作用域取决于定义的位置。至于作用域具体是什么,请参见本博客中“javascript作用域”一文。

这样,开头的那个问题可以解决了。函数中的才是对abc的定义,只不过值为undefined,这时abc有全局作用域,函数外的只是对abc的值的更新。

Javascript 相关文章推荐
传递参数的标准方法(jQuery.ajax)
Nov 19 Javascript
动态创建的表格单元格中的事件实现代码
Dec 30 Javascript
一个用javascript写的select支持上下键、首字母筛选以及回车取值的功能
Sep 09 Javascript
浅谈JS日期(Date)处理函数
Dec 07 Javascript
浅谈javascript 归并方法
Jan 21 Javascript
Angularjs实现分页和分页算法的示例代码
Dec 23 Javascript
详解关于vue-area-linkage走过的坑
Jun 27 Javascript
JavaScript实现仿Clock ISO时钟
Jun 29 Javascript
vue集成kindeditor富文本的实现示例代码
Jun 07 Javascript
jQuery实现提交表单时不提交隐藏div中input的方法
Oct 08 jQuery
django简单的前后端分离的数据传输实例 axios
May 18 Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
Aug 20 Javascript
JQuery中$(document)是什么意思有什么作用
Jul 21 #Javascript
jquery显示隐藏input对象
Jul 21 #Javascript
jquery实现保存已选用户
Jul 21 #Javascript
jquery实现显示已选用户
Jul 21 #Javascript
jquery操作checkbox示例分享
Jul 21 #Javascript
jquery常用操作小结
Jul 21 #Javascript
JavaScript中的apply和call函数详解
Jul 20 #Javascript
You might like
用PHP读取RSS feed的代码
2008/08/01 PHP
PHP $_SERVER详解
2009/01/16 PHP
浅析php单例模式
2014/11/25 PHP
php框架CodeIgniter使用redis的方法分析
2018/04/13 PHP
PHP常量define和const的区别详解
2019/05/18 PHP
基于Web标准的UI组件 — 树状菜单(2)
2006/09/18 Javascript
ajax无刷新动态调用股票信息(改良版)
2008/11/01 Javascript
js 数值项目的格式化函数代码
2010/05/14 Javascript
深入理解JavaScript定时机制
2010/10/29 Javascript
JS实现网页滚动条感应鼠标变色的方法
2015/02/26 Javascript
JQuery中层次选择器用法实例详解
2015/05/18 Javascript
js中遍历对象的属性和值的方法
2016/07/27 Javascript
详细谈谈AngularJS的子级作用域问题
2016/09/05 Javascript
微信js-sdk分享功能接口常用逻辑封装示例
2016/10/13 Javascript
AngularJS入门教程之与服务器(Ajax)交互操作示例【附完整demo源码下载】
2016/11/02 Javascript
jquery实现刷新随机变化样式特效(tag标签样式)
2017/02/03 Javascript
详谈for循环里面的break和continue语句
2017/07/20 Javascript
vue插件vue-resource的使用笔记(小结)
2017/08/04 Javascript
postman+json+springmvc测试批量添加实例
2018/03/31 Javascript
async/await地狱该如何避免详解
2018/05/10 Javascript
浅谈Vue组件及组件的注册方法
2018/08/24 Javascript
javascript实现打砖块小游戏(附完整源码)
2020/09/18 Javascript
JavaScript中的几种继承方法示例
2020/12/06 Javascript
Python引用模块和查找模块路径
2016/03/17 Python
Python文件读写常见用法总结
2019/02/22 Python
使用Python做垃圾分类的原理及实例代码附源码
2019/07/02 Python
纯css3无js实现的Android Logo(有简单动画)
2013/01/21 HTML / CSS
PHP如何与mysql建立链接
2013/05/05 面试题
财务专业大学生职业生涯规划范文
2013/12/30 职场文书
学校门卫管理制度
2014/01/30 职场文书
将相和教学反思
2014/02/04 职场文书
研究生毕业自我鉴定范文
2014/03/27 职场文书
离开雷锋的日子观后感
2015/06/09 职场文书
小马王观后感
2015/06/11 职场文书
大学毕业典礼致辞
2015/07/29 职场文书
初中团支书竞选稿
2015/11/21 职场文书