JavaScript中var关键字的使用详解


Posted in Javascript onAugust 14, 2015

作用
声明作用;如声明个变量。
语法  

var c = 1;

省略var
在javascript中,若省略var关键字而直接赋值,那么这个变量为全局变量,哪怕是在function里定义的。

<script type="text/javascript"> 
  function Define() { 
    a = 2; 
  } 
  function Hello() { 
    alert(a); 
  } 
</script>

如代码所示,运行函数Define()后,变量a声明为全局变量。在Hello()函数中可以引用变量a。

更具体的示例
我们都知道 JavaScript 中的var关键字是用来申明变量的,但是如果不用这个关键字而直接写出变量名,然后赋值给它,JavaScript 也并不会报错,它会自动申明这个变量。难道说 JavaScript 中的var是个多余的东西吗?显然不是!

请看下面这段代码:

str1 = 'Hello JavaScript!';
function fun1() {
 str1 = 'Hello Java!';
}
fun1();
alert(str1);

// 弹出 Hello Java!

可以看到,在函数 fun1 被调用后,str1 的值在函数内被改变了。

再将上面的代码稍作修改:

str1 = 'Hello JavaScript!';
function fun1() {
 var str1 = 'Hello Java!';
}
fun1();
alert(str1);

// 弹出 Hello JavaScript!

看到没有,str1 的值并没有被函数 fun1 改变。

显然,var关键字影响了变量的作用域。

函数外部:变量不管是否用了var申明,都是全局变量。

函数内部:变量如果没有使用var关键字申明,那它就是全局变量,只有用var关键字申明了,才是局部变量。
结论

为了避免潜在的风险,务必使用var关键字来申明变量。

Javascript 相关文章推荐
Javascript中eval函数的使用方法与示例
Apr 09 Javascript
JavaScript代码复用模式实例分析
Dec 02 Javascript
js获取select标签的值且兼容IE与firefox
Dec 30 Javascript
js确认删除对话框效果的示例代码
Feb 20 Javascript
Javascript正则控制文本框只能输入整数或浮点数
Sep 02 Javascript
30分钟快速掌握Bootstrap框架
May 24 Javascript
基于jQuery实现点击列表加载更多效果
May 31 Javascript
解析浏览器端的AJAX缓存机制
Jun 21 Javascript
Javascript中document.referrer隐藏来源的方法
Jan 16 Javascript
JavaScript实现弹出广告功能
Mar 30 Javascript
详解JavaScript修改注册表的方法
Jan 05 Javascript
如何在vue项目中嵌入jsp页面的方法(2种)
Feb 06 Javascript
JavaScript的jQuery库中ready方法的学习教程
Aug 14 #Javascript
js实现当复选框选择匿名登录时隐藏登录框效果
Aug 14 #Javascript
JavaScript学习笔记之DOM基础 2.4
Aug 14 #Javascript
关于JavaScript的变量的数据类型的判断方法
Aug 14 #Javascript
js实现表单检测及表单提示的方法
Aug 14 #Javascript
JavaScript中的this关键字使用详解
Aug 14 #Javascript
JS实现双击编辑可修改状态的方法
Aug 14 #Javascript
You might like
体育彩票排列三组选三算法分享
2014/03/07 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
2014/04/18 PHP
php使用正则表达式获取图片url的方法
2015/01/16 PHP
php策略模式简单示例分析【区别于工厂模式】
2019/09/25 PHP
laravel通过a标签从视图向控制器实现传值
2019/10/15 PHP
Jquery 获取checkbox的checked问题
2011/11/16 Javascript
深入理解javascript学习笔记(一) 编写高质量代码
2012/08/09 Javascript
javascript实现图片切换的幻灯片效果源代码
2012/12/12 Javascript
一款基于jQuery的图片场景标注提示弹窗特效
2015/01/05 Javascript
javascript中replace( )方法的使用
2015/04/24 Javascript
原生js实现图片放大缩小计时器效果
2017/01/20 Javascript
基于node.js依赖express解析post请求四种数据格式
2017/02/13 Javascript
JS实现的简单表单验证功能完整实例
2017/10/14 Javascript
微信小程序canvas拖拽、截图组件功能
2018/09/04 Javascript
详解puppeteer使用代理
2018/12/27 Javascript
vue自定义指令之面板拖拽的实现
2019/04/14 Javascript
iview的table组件自带的过滤器实现
2019/07/12 Javascript
前端插件之Bootstrap Dual Listbox使用教程
2019/07/23 Javascript
Js逆向实现滑动验证码图片还原的示例代码
2020/03/10 Javascript
解决vue单页面 回退页面 keeplive 缓存问题
2020/07/22 Javascript
Python基于property实现类的特性操作示例
2018/06/15 Python
Python基于opencv实现的简单画板功能示例
2019/03/04 Python
jupyter notebook实现显示行号
2020/04/13 Python
pandas中read_csv、rolling、expanding用法详解
2020/04/21 Python
Python while true实现爬虫定时任务
2020/06/08 Python
django 将自带的数据库sqlite3改成mysql实例
2020/07/09 Python
Python自动化测试基础必备知识点总结
2021/02/07 Python
css3实现小箭头各种图形效果
2020/07/08 HTML / CSS
纪律教育学习月活动总结
2014/08/27 职场文书
三严三实对照检查材料
2014/09/22 职场文书
个人四风问题对照检查材料
2014/10/01 职场文书
居委会工作总结2015
2015/05/18 职场文书
光荣之路观后感
2015/06/12 职场文书
办公用品管理制度
2015/08/04 职场文书
62句有关感恩节文案(推荐收藏)
2019/11/28 职场文书
Python实现将多张图片合成MP4视频并加入背景音乐
2022/04/28 Python