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 相关文章推荐
js 对联广告、漂浮广告封装类(IE,FF,Opera,Safari,Chrome
Nov 26 Javascript
Javascript监视变量变化的方法
Jun 09 Javascript
Bootstrap每天必学之滚动监听
Mar 16 Javascript
基于Vue.js的表格分页组件
May 22 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
Sep 22 Javascript
vue 不使用select实现下拉框功能(推荐)
May 17 Javascript
element UI upload组件上传附件格式限制方法
Sep 04 Javascript
微信小程序显示倒计时功能示例【测试可用】
Dec 03 Javascript
package.json配置文件构成详解
Aug 27 Javascript
Vue父组件向子组件传值以及data和props的区别详解
Mar 02 Javascript
在vue中实现echarts随窗体变化
Jul 27 Javascript
js实现点击按钮随机生成背景颜色
Sep 05 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+Mysql树型结构(无限分类)数据库设计的2种方式实例
2014/07/15 PHP
Yii框架学习笔记之应用组件操作示例
2019/11/13 PHP
YUI 读码日记之 YAHOO.lang.is*
2008/03/22 Javascript
js调用后台servlet方法实例
2013/06/09 Javascript
浅析JavaScript中的CSS属性及命名规范
2013/11/28 Javascript
JavaScript+html5 canvas制作的圆中圆效果实例
2016/01/27 Javascript
js实现商品抛物线加入购物车特效
2020/11/18 Javascript
如何在JS中实现相互转换XML和JSON
2016/07/19 Javascript
浅谈jquery中next与siblings的区别
2016/10/27 Javascript
javascript学习之json入门
2016/12/22 Javascript
node和vue实现商城用户地址模块
2018/12/05 Javascript
Angular中innerHTML标签的样式不起作用的原因解析
2019/06/18 Javascript
[01:30:54]《加油DOTA》 第三期
2014/08/18 DOTA
举例讲解Python的lambda语句声明匿名函数的用法
2016/07/01 Python
利用python求解物理学中的双弹簧质能系统详解
2017/09/29 Python
Python爬取个人微信朋友信息操作示例
2018/08/03 Python
PyCharm设置护眼背景色的方法
2018/10/29 Python
numpy 对矩阵中Nan的处理:采用平均值的方法
2018/10/30 Python
Python OOP类中的几种函数或方法总结
2019/02/22 Python
Django REST Framework序列化外键获取外键的值方法
2019/07/26 Python
基于Pytorch SSD模型分析
2020/02/18 Python
解决flask接口返回的内容中文乱码的问题
2020/04/03 Python
深入了解Python enumerate和zip
2020/07/16 Python
pycharm如何使用anaconda中的各种包(操作步骤)
2020/07/31 Python
python读取xml文件方法解析
2020/08/04 Python
Pandas替换及部分替换(replace)实现流程详解
2020/10/12 Python
Canvas 文字碰撞检测并抽稀的方法
2019/05/27 HTML / CSS
JD Sports比利时官网:英国领先的运动鞋和运动服饰零售商
2018/10/10 全球购物
导师评语大全
2014/04/26 职场文书
难忘的一天教学反思
2014/04/30 职场文书
优秀安全员事迹材料
2014/05/11 职场文书
2014年个人师德工作总结
2014/12/04 职场文书
管理失职检讨书
2015/05/05 职场文书
2015年控辍保学工作总结
2015/05/18 职场文书
体育部部长竞选稿
2015/11/21 职场文书
使用canvas实现雪花飘动效果的示例代码
2021/03/30 HTML / CSS