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 相关文章推荐
使用prototype.js 的时候应该特别注意的几个问题.
Apr 12 Javascript
使一个函数作为另外一个函数的参数来运行的javascript代码
Aug 13 Javascript
情人节专属 纯js脚本1k大小的3D玫瑰效果
Feb 11 Javascript
详解JavaScript中getFullYear()方法的使用
Jun 10 Javascript
jquery实现的树形目录实例
Jun 26 Javascript
AngularJS基础教程之简单介绍
Sep 27 Javascript
JavaScript运行过程中的“预编译阶段”和“执行阶段”
Dec 16 Javascript
详解Vue 事件修饰符capture 的使用
Dec 29 Javascript
vue-lazyload使用总结(推荐)
Nov 01 Javascript
解决vuex数据异步造成初始化的时候没值报错问题
Nov 13 Javascript
Javascript实现秒表计时游戏
May 27 Javascript
JavaScript 生成唯一ID的几种方式
Feb 19 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中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
2012/09/07 PHP
php Calender(日历)代码分享
2014/01/03 PHP
PHP学习笔记(二) 了解PHP的基本语法以及目录结构
2014/08/04 PHP
php实现的双向队列类实例
2014/09/24 PHP
微信公众平台开发关注及取消关注事件的方法
2014/12/23 PHP
php连接oracle数据库的方法(测试成功)
2016/05/26 PHP
yii2-GridView在开发中常用的功能及技巧总结
2017/01/07 PHP
PHP getName()函数讲解
2019/02/03 PHP
用于自动添加Digg This!按钮的JavaScript
2006/12/23 Javascript
不间断滚动JS打包类,基本可以实现所有的滚动效果,太强了
2007/12/08 Javascript
jQuery制作拼图小游戏
2015/01/12 Javascript
js使用post 方式打开新窗口
2015/02/26 Javascript
js实现touch移动触屏滑动事件
2015/04/17 Javascript
javascript实现网页背景烟花效果的方法
2015/08/06 Javascript
快速学习jQuery插件 Form表单插件使用方法
2015/12/01 Javascript
JavaScript实现点击文本自动定位到下拉框选中操作
2016/06/15 Javascript
浅谈angular4 ng-content 中隐藏的内容
2017/08/18 Javascript
详解小程序开发经验:多页面数据同步
2019/05/18 Javascript
jquery实现手风琴案例
2020/05/04 jQuery
JavaScript设计模式之策略模式实现原理详解
2020/05/29 Javascript
基于ajax及jQuery实现局部刷新过程解析
2020/09/12 jQuery
Python模块搜索概念介绍及模块安装方法介绍
2015/06/03 Python
Python装饰器的执行过程实例分析
2018/06/04 Python
python中的插值 scipy-interp的实现代码
2018/07/23 Python
canvas与html5实现视频截图功能示例
2016/12/15 HTML / CSS
struct与class的区别
2014/02/03 面试题
性能测试工程师的面试题
2015/02/20 面试题
大学自我鉴定
2013/12/20 职场文书
旅游与酒店管理专业求职信
2014/07/21 职场文书
居委会个人对照检查材料思想汇报
2014/09/29 职场文书
公务员群众路线心得体会
2014/11/03 职场文书
大学生学年个人总结
2015/02/15 职场文书
个人欠条范本
2015/07/03 职场文书
公司员工违法违章行为检讨书
2019/06/24 职场文书
React配置子路由的实现
2021/06/03 Javascript
Win11右下角图标点了没反应怎么办?Win11点击右下角图标无反应解决方法汇总
2022/07/07 数码科技