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

?
1
var c = 1;

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

?
1
2
3
4
5
6
7
8
<script type="text/javascript">
  function Define() {
    a = 2;
  }
  function Hello() {
    alert(a);
  }
</script>

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

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

请看下面这段代码:

?
1
2
3
4
5
6
7
8
str1 = 'Hello JavaScript!';
function fun1() {
 str1 = 'Hello Java!';
}
fun1();
alert(str1);
// 弹出 Hello Java!

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

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

?
1
2
3
4
5
6
7
8
str1 = 'Hello JavaScript!';
function fun1() {
 var str1 = 'Hello Java!';
}
fun1();
alert(str1);
// 弹出 Hello JavaScript!

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

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

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

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

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

转载于:https://www.cnblogs.com/yeyublog/p/5901531.html

JavaScript中var关键字的使用详解相关推荐

  1. php中this的使用技巧,JavaScript中this关键字使用方法详解

    JavaScript中this关键字使用方法详解 在面向对象编程语言中,对于this关键字我们是非常熟悉的.比如C++.C#和Java等都提供了这个关键字,虽然在开始学习的时候觉得比较难,但只要理解了 ...

  2. JavaScript中this关键字使用方法详解

    在面向对象编程语言中,对于this关键字我们是非常熟悉的.比如C++.C#和Java等都提供了这个关键字,虽然在开始学习的时候觉得比较难,但只要理解了,用起来是非常方便和意义确定的.JavaScrip ...

  3. escape mysql_MySQL中ESCAPE关键字的用法详解

    MySQL转义 转义即表示转义字符原来的语义,一个转义字符的目的是开始一个字符序列,使得转义字符开头的该字符序列具有不同于该字符序列单独出现时的语义. MySQL中,转义字符以"" ...

  4. MySQL中ESCAPE关键字的用法详解

    MySQL中ESCAPE关键字的用法详解 MySQL中ESCAPE关键字的用法详解 1. mysql转义概述 2. escape验证 MySQL中ESCAPE关键字的用法详解 1. mysql转义概述 ...

  5. mysql escape关键字_MySQL中ESCAPE关键字的用法详解

    MySQL转义 转义即表示转义字符原来的语义,一个转义字符的目的是开始一个字符序列,使得转义字符开头的该字符序列具有不同于该字符序列单独出现时的语义. MySQL中,转义字符以"\" ...

  6. JavaScript 中的 this 与闭包详解

    JavaScript 中的 this 一.什么是 this ? 在 JavaScript 中 this 关键字一般指的是 函数调用时 所在的 环境上下文 ,存储了 环境上下文对象的内存地址 ,根据函数 ...

  7. JavaScript 中 apply 、call 的详解

    apply 和 call 的区别 ECMAScript 规范给所有函数都定义了 call 与 apply 两个方法,它们的应用非常广泛,它们的作用也是一模一样,只是传参的形式有区别而已. 原文作者:林 ...

  8. 深入浅出 JavaScript 中的For循环之详解

    点击上方"IT平头哥联盟",选择"置顶或者星标" 一起进步- 公众号回复[ 加群 ],与大佬们一起成长- 今天我想分享一个有关于循环筛选的知识点,也许是前端小白 ...

  9. JavaScript中立即执行函数实例详解 转载 作者:李牧羊

    javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花,当然,能理解各型各色的写法也是对javascript语言特性更进一步的深入理解.这篇文章 ...

最新文章

  1. Cisco交换机解决网络蠕虫病毒***问题
  2. JDK,JRE,JVM区别与联系
  3. small android,Android-Small框架-基础
  4. (转)当别人努力的时候,你在做什么?
  5. java split
  6. IT职场健康杀手与应对宝典 (虽然是IT职场,可是对于常上网的ggmm也是很有用的)...
  7. Agile: 为什么要使用 scrum 而不是瀑布?
  8. 2000元档855旗舰来了 网友:都过时了,哪有人买
  9. 设计师专用新年春节2021牛年艺术字体,提升设计效率!
  10. java学生成绩管理系统(GUI界面+文件保存+排序)
  11. 简单计算经纬度表示的距离
  12. 学习《华为基本法》(7):利益分配
  13. Verilog中begin...end和fork....join的区别和用法
  14. Install Burg Bootloader
  15. Android全面屏适配笔记
  16. DVWA靶场联系(第三周)
  17. python画龙猫_Python:制作动态字符图
  18. 【小型物体测速仪】只有原理,无代码
  19. git reset --hard详解
  20. ffmpeg批量切片mp3

热门文章

  1. Linux运维问题解决(2)——Linux设置定时重启系统的方法:定时任务crontab 和 编写脚本
  2. Linux故障解决(2)——使用yum安装netcat 及报错问题解决
  3. SELinux系列(三)——SELinux的三种工作模式
  4. 脚本_vnote同步到hexo步骤[博]
  5. c 语言从文件中读取字符串数组,C从文本文件读取到数组/字符串
  6. 裁员潮来袭!IT行情雪崩之下,我靠它竟能逆向突破职业危机
  7. 职称计算机xp系统试题,2020年职称计算机WindowsXP测试题及答案.doc
  8. 计算机视觉CV中特征点提取SIFT算法的学习笔记
  9. Eclipse中使用JNI编写C代码时出现“Unresolved inclusion: ***.h”的解决方案
  10. GPS串口报文NMEA格式,Python解析L76-gps数据流