Js中的全局变量与局部变量

ECMAScript 的变量是松散类型的,所谓松散类型就是可以用来保存任何类型的数据。换句话说,每个变量仅仅是一个用于保存值的占位符而已。定义变量时要使用 var 操作符(注意 var 是一个关键字),后跟变量名(即一个标识符),如下所示:

var message; 

这行代码定义了一个名为 message 的变量,该变量可以用来保存任何值(像这样未经过初始化的变量,会保存一个特殊的值——undefined。
用 var 操作符定义的变量将成为定义该变量的作用域中的局部变量。也就是说,如果在函数中使用 var 定义一个变量,那么这个变量在函数退出后就会被销毁。

function test()
{
var message='Hi';//局部变量
}
test();
alert(message);//出错 

变量 message 是在函数中使用 var 定义的。当函数被调用时,就会创建该变量并为其赋值。而在此之后,这个变量又会立即被销毁,因此例子中的下一行代码就会导致错误。不过,可以像下面这样省略 var 操作符,从而创建一个全局变量:

function test()
    {
     message='Hi';//全局变量
    }
    test();
    alert(message);//出错 

这个例子省略了 var 操作符,因而 message 就成了全局变量。这样,只要调用过一次 test()函数,这个变量就有了定义,就可以在函数外部的任何地方被访问到。

使用window全局对象来声明,全局对象的属性对应也是全局变量,详细如下:

 window.test = 50; 
  alert(test);//输出50 

猜你喜欢

转载自blog.csdn.net/qq_26102281/article/details/84888935