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 相关文章推荐
Tab页界面,用jQuery及Ajax技术实现
Sep 21 Javascript
js类型检查实现代码
Oct 29 Javascript
jQuery + Flex 通过拖拽方式动态改变图片的代码
Aug 03 Javascript
深入理解JavaScript系列(11) 执行上下文(Execution Contexts)
Jan 15 Javascript
javascript获取作用在元素上面的样式属性代码
Sep 20 Javascript
javascript数组去重的方法汇总
Apr 14 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
May 03 Javascript
js 获取经纬度的实现方法
Jun 20 Javascript
微信小程序 picker-view 组件详解及简单实例
Jan 10 Javascript
JavaScript实现的鼠标响应颜色渐变效果完整实例
Feb 18 Javascript
React-Native左右联动List的示例代码
Sep 21 Javascript
浅谈vuex中store的命名空间
Nov 08 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
德生S2000电路分析
2021/03/02 无线电
《PHP编程最快明白》第五讲:php目录、文件操作
2010/11/01 PHP
php断点续传之如何分割合并文件
2014/03/22 PHP
微信营销平台系统?刮刮乐的开发
2014/06/10 PHP
php显示指定目录下子目录的方法
2015/03/20 PHP
Smarty保留变量用法分析
2016/05/23 PHP
PHP之图片上传类实例代码(加了缩略图)
2016/06/30 PHP
PHP中静态变量的使用方法实例分析
2016/12/01 PHP
破除网页鼠标右键被禁用的绝招大全
2006/12/27 Javascript
Javascript的一种模块模式
2008/03/22 Javascript
JS 数字转换研究总结
2013/12/26 Javascript
Javascript实现简单的富文本编辑器附演示
2014/06/16 Javascript
了不起的node.js读书笔记之node.js中的特性
2014/12/22 Javascript
js实现select选择框效果及美化
2016/08/19 Javascript
vue router2.0二级路由的简单使用
2017/07/05 Javascript
浅谈JS获取元素的N种方法及其动静态讨论
2017/08/25 Javascript
使用Vue制作图片轮播组件思路详解
2018/03/21 Javascript
Vue.js 中取得后台原生HTML字符串 原样显示问题的解决方法
2018/06/10 Javascript
JavaScript闭包原理与用法实例分析
2018/08/10 Javascript
ES6入门教程之Array.from()方法
2019/03/23 Javascript
vue+elementUI实现图片上传功能
2019/08/20 Javascript
Layui数据表格判断编辑输入的值,是否为我需要的类型详解
2019/10/26 Javascript
Vue实现星级评价效果实例详解
2019/12/30 Javascript
JS实现盒子拖拽效果
2020/02/06 Javascript
python使用Tkinter显示网络图片的方法
2015/04/24 Python
解决python中无法自动补全代码的问题
2018/12/04 Python
浅析Python3 pip换源问题
2020/01/06 Python
python_array[0][0]与array[0,0]的区别详解
2020/02/18 Python
python进行参数传递的方法
2020/05/12 Python
基于Python的接口自动化读写excel文件的方法
2021/01/15 Python
python利用opencv实现颜色检测
2021/02/23 Python
大学生创业计划书的格式要求
2013/12/29 职场文书
《湘夫人》教学反思
2014/02/21 职场文书
公司授权委托书范本
2014/09/18 职场文书
仓管员岗位职责
2015/02/03 职场文书
生日赠语
2015/06/23 职场文书