javascript中变量

全局变量和局部变量的区别和比较:

  1. 全局变量的作用域是全局的,在javascript中处处都可以定义;局部变量是局部的,作用域是局部性的。
  2. 全局作用域中编写代码时可以不使用var,但是局部变量必须使用var。
  3. 在函数体内部,局部变量的优先级比同名的全部变量高。
1 var scope = "global";
2 function fn(){
3   alert(scope);
4   var scope = "local";
5   alert(scope);
6 }
7 fn();

起初以为alert第一次调用会显示“global”,因为申明局部变量的var语句还没有被执行。但是,由于这个作用域规则的限定,输出的并不是“global”。局部变量在整个函数体内都是有定义的,但是在执行var语句之前,它是不会被初始化的。这个函数等价于:

1 function fn(){
2     var scope;
3     alert(scope);
4     scope = “local”;
5     alert(scope);
6 }
原文地址:https://www.cnblogs.com/Eleanore/p/2534613.html