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 相关文章推荐
JavaScript Event学习第四章 传统的事件注册模型
Feb 07 Javascript
jquery里的正则表达式说明
Aug 03 Javascript
JavaScript编程中的Promise使用大全
Jul 28 Javascript
jquery实现顶部向右伸缩的导航区域代码
Sep 02 Javascript
Java  Spring 事务回滚详解
Oct 17 Javascript
JS 全屏和退出全屏详解及实例代码
Nov 07 Javascript
vue动态改变背景图片demo分享
Sep 13 Javascript
node中的cookie的具体使用
Sep 13 Javascript
JavaScript之解构赋值的理解
Jan 30 Javascript
vue中监听返回键问题
Aug 28 Javascript
在vue中利用v-html按分号将文本换行的例子
Nov 14 Javascript
原生javascript如何实现共享onload事件
Jul 03 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的面向对象编程
2006/10/09 PHP
ThinkPHP3.2框架使用addAll()批量插入数据的方法
2017/03/16 PHP
php如何修改SESSION的生存存储时间的实例代码
2017/07/05 PHP
javascript setTimeout和setInterval 的区别
2009/12/08 Javascript
JQUERY的属性选择符和自定义选择符使用方法(二)
2011/04/07 Javascript
仅IE6/7/8中innerHTML返回值忽略英文空格的问题
2011/04/07 Javascript
jquery仿京东导航/仿淘宝商城左侧分类导航下拉菜单效果
2013/04/24 Javascript
Jquery实现的tab效果可以指定默认显示第几页
2013/10/16 Javascript
详解JavaScript中的forEach()方法的使用
2015/06/08 Javascript
jQuery+HTML5实现图片上传前预览效果
2015/08/20 Javascript
浅析jQuery移动开发中内联按钮和分组按钮的编写
2015/12/04 Javascript
jQuery模拟物体自由落体运动(附演示与demo源码下载)
2016/01/21 Javascript
Javascript Event(事件)的传播与冒泡
2017/01/23 Javascript
vue货币过滤器的实现方法
2017/04/01 Javascript
JS实现的模仿QQ头像资料卡显示与隐藏效果
2017/04/07 Javascript
微信小程序开发之实现自定义Toast弹框
2017/06/08 Javascript
JS实现移动端按首字母检索城市列表附源码下载
2017/07/05 Javascript
浅谈vuex之mutation和action的基本使用
2017/08/29 Javascript
vue小图标favicon不显示的解决方案
2017/09/19 Javascript
JS实现的找零张数最小问题示例
2017/11/28 Javascript
Vue中的Vux配置指南
2017/12/08 Javascript
[44:04]OG vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python深入学习之特殊方法与多范式
2014/08/31 Python
python实现随机森林random forest的原理及方法
2017/12/21 Python
python解决js文件utf-8编码乱码问题(推荐)
2018/05/02 Python
python中Mako库实例用法
2020/12/31 Python
亚马逊新加坡官方网站:Amazon.sg
2020/03/25 全球购物
乌克兰巴士票购买网站:inBus
2021/03/12 全球购物
师范毕业生自荐信
2013/10/17 职场文书
资源环境与城市管理专业推荐信
2013/11/30 职场文书
函授药学自我鉴定
2014/02/07 职场文书
团代会主持词
2014/04/02 职场文书
小学生三分钟演讲稿
2014/08/18 职场文书
办理信用卡收入证明范例
2014/09/13 职场文书
2015年房产销售工作总结范文
2015/05/22 职场文书
Django实现drf搜索过滤和排序过滤
2021/06/21 Python