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 相关文章推荐
简单时间提示DEMO从0开始一直进行计时
Nov 19 Javascript
showModalDialog在谷歌浏览器下会返回Null的解决方法
Nov 27 Javascript
jquery左边浮动到一定位置时显示返回顶部按钮
Jun 05 Javascript
jQuery中:first选择器用法实例
Dec 30 Javascript
js实现对table动态添加、删除和更新的方法
Feb 10 Javascript
jQuery复合事件用法示例
Jun 10 jQuery
微信小程序获取手机系统信息的方法【附源码下载】
Dec 07 Javascript
JS基于递归实现网页版计算器的方法分析
Dec 20 Javascript
详谈vue+webpack解决css引用图片打包后找不到资源文件的问题
Mar 06 Javascript
JavaScript迭代器的含义及用法
Jun 21 Javascript
解决LayUI加上form.render()下拉框和单选以及复选框不出来的问题
Sep 27 Javascript
浅谈Web Storage API的使用
Jun 23 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
很实用的一个完整email发送程序
2006/10/09 PHP
php 获取页面中指定内容的实现类
2014/01/23 PHP
YiiFramework入门知识点总结(图文教程)
2015/12/28 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
2016/01/11 PHP
利用PHP绘图函数实现简单验证码功能的方法
2016/10/18 PHP
ThinkPHP5框架实现简单的批量查询功能示例
2018/06/07 PHP
贴一个在Mozilla中常用的Javascript代码
2007/01/09 Javascript
有关JavaScript的10个怪癖和秘密分享
2011/08/28 Javascript
jQuery解决input超多的表单提交
2015/08/10 Javascript
Mvc提交表单的四种方法全程详解
2016/08/10 Javascript
js正则表达式惰性匹配和贪婪匹配用法分析
2016/12/26 Javascript
基于JavaScript实现数码时钟效果
2020/03/30 Javascript
vue.js,ajax渲染页面的实例
2018/02/11 Javascript
微信小程序之onLaunch与onload异步问题详解
2019/03/28 Javascript
Vue.js递归组件实现组织架构树和选人功能案例分析
2019/07/03 Javascript
js tab栏切换代码实例解析
2019/09/03 Javascript
[50:17]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python如何快速实现分布式任务
2017/07/06 Python
Python探索之SocketServer详解
2017/10/28 Python
python删除过期log文件操作实例解析
2018/01/31 Python
使用PIL(Python-Imaging)反转图像的颜色方法
2019/01/24 Python
Django框架封装外部函数示例
2019/05/28 Python
python快速编写单行注释多行注释的方法
2019/07/31 Python
CSS3田字格列表的样式编写方法
2018/11/22 HTML / CSS
哈利波特商店:Harry Potter Shop
2018/11/30 全球购物
Mamaearth官方网站:印度母婴护理产品公司
2019/10/06 全球购物
市场部专员岗位职责
2013/11/30 职场文书
大学校运会广播稿
2014/02/03 职场文书
校园文明标语
2014/06/13 职场文书
2015年领导班子工作总结
2015/05/23 职场文书
王亚平太空授课观后感
2015/06/12 职场文书
Python中X[:,0]和X[:,1]的用法
2021/05/10 Python
python库sklearn常用操作
2021/08/23 Python
Android基于Fresco实现圆角和圆形图片
2022/04/01 Java/Android
MSSQL基本语法操作
2022/04/11 SQL Server
mybatis 获取更新记录的id
2022/05/20 Java/Android