JavaScript(以下简称JS)中变量的作用是给某一个值或是对象标注名称。

变量的声明

使用var关键字对变量进行声明。

var foo; //声明变量foo
foo = "abc"; // 将字符串"abc"赋值给变量foo

变量的声明和赋值也可以同时进行

var foo = "abc" // 声明一个赋值为字符串"abc"的变量foo

被声明但未进行任何赋值的变量,其值为undefined。读取这类变量的值不会引起运行时错误。需要注意的是,大部分情况下,读取undefined值都是产生错误的根源。

var foo;
print(foo);
undefined //变量的值为undefined 这不是错误,而是在JS中undefined也是一种数据类型

读取没有被声明的变量,就会引发ReferenceError异常

print(x);
ReferenceError:x is not defined

省略var

在JS中var关键字是可以省略的。不通过var来声明也可以对变量进行赋值。这样的变量称为隐式声明变量。采用隐式声明的变量都是全局变量,即使是在函数内部隐式声明的变量也属于全局变量。

在函数外部通过var声明的变量也是全局变量,这类全局变量是显式声明的。为了和显式声明的全局变量相区别,那些没有通过var声明的变量被称为隐式全局变量。

应当尽可能避免使用全局变量,特别是应该避免使用隐式全局变量。

标签: none

评论已关闭