JavaScript有两种变量:局部变量和全局变量。

    首先,局部变量是指只能在本变量声明的函数内部调用。全局变量是整个代码中都可以调用的变量。当然,只是从字面的上的理解肯定理解不清楚。下面咱们用代码来真正的理解一下。

    在JavaScript中变量是需要用var关键字声明的。但是JavaScript中也可以不用声明,直接使用。因为在JavaScript中的变量是

弱类型(java中的变量是强类型,所以变量需要进行声明)。但是在JavaScript中把声明的变量当做全局变量来使用的。

例子:

1.

<script language="javascript">
    function my_name() {
     i = '小猪佩奇';
              }
        my_name();
    function my_Name() {
     alert(i);
              }
    my_Name();
  </script>

输出:小猪佩奇

这说明变量i就是全局变量,虽然在不同的函数中但是也可以进行调用弹出。那如果进行下面修改就不一样了》

2.

<script language="javascript">
    function my_name() {
     var i = '小猪佩奇';
              }
        my_name();
    function my_Name() {
     alert(i);
              }
    my_Name();
  </script>

在这个程序中就不会有输出,因为在这个时候  i  就是人家my_name函数中的变量,也就是局部变量。而你在函数my_Name中调用,这就不可以的。

3.我们进行下面的修改:

<script language="javascript">
    function my_name() {
     i = '小猪佩奇';
              }
        
    function my_Name() {
     alert(i);
              }
    my_Name();
  </script>

咱们把my_name();去掉,此时浏览器也不会有反应,因为虽然  i  是全局变量但是函数my_name()没有进行调用,所以就是相当是声明了  i  但是没有进行赋值,所以也就没有任何输出。

4. 那咱们在进行如下的修改:

<script language="javascript">
    var i="佩奇弟弟乔治"
    function my_name() {
     i = '小猪佩奇';
          }

    my_name();

    function my_Name() {
     alert(i);
              }
    my_Name();
      </script>

这次的输出是:小猪佩奇   原因就是全局变量  i  的起始值是“佩奇弟弟乔治”但是经过函数my_name的再次赋值,就变成了小猪佩奇,所以在弹出的时候就是小猪佩奇了。

5.在变一下:

<script language="javascript">
    var i="佩奇弟弟乔治"
    function my_name() {
        var i = '小猪佩奇';
          }
   my_name();
    function my_Name() {
     alert(i);
              }
    my_Name();
my_name();


</script>

那,这次的结果就不是“小猪佩奇”了  就变成 “佩奇的弟弟乔治”。为什么呢,就是因为其实这两个  i  就是不一样的,第一个  i 是全局变量  但是第二个  i  就是局部变量了,它只在函数my_name中可以调用,在函数my_Name中的调用时对全局变量  i 的调用。

6. 那在变成这样,

<script language="javascript">
    var i="佩奇弟弟乔治"
    function my_name() {
      i = '小猪佩奇';
          }
   
    function my_Name() {
     alert(i);
              }
    my_Name();
    my_name();
  </script>

这次就是  佩奇的弟弟乔治   因为这次首先是   对函数my_Name进行调用,在对函数my_name进行调用,所以弹出的  i 就是:佩奇弟弟乔治

大概变量就只有这么多的内容,虽然很简单 ,但是有一丢丢的绕,好好看一下 ,肯定能很好地认知到。