ECMAscript 中的变量是用 var 运算符(variable 的缩写)加变量名定义的。例如
var test = "hi";
在这个例子中,声明了变量 test,并把它的值初始化为 "hi"(字符串)。由于 ECMAscript 是弱类型的,所以解释程序会为 test 自动创建一个字符串值,无需明确的类型声明。
还可以用一个 var 语句定义两个或多个变量:
var test1 = "hi", test2 = "hello";
前面的代码定义了变量 test1,初始值为 "hi",还定义了变量 test2,初始值为 "hello"。
不过用同一
个 var 语句定义的变量不必具有相同的类型,如下所示:
var test = "hi", age = 25;
这个例子除了(再次)定义 test 外,还定义了 age,并把它初始化为 25。即使 test 和 age 属于两种不同的数据类型,在 ECMAscript 中这样定义也是完全合法的。
与 Java 不同,ECMAscript 中的变量并不一定要初始化(它们是在幕后初始化的,将在后面讨论这一点)。因此,下面这一行代码也是有效的:
var test;
此外,与 Java 不同的还有变量可以存放不同类型的值。这是弱类型变量的优势。例如,可以把变量初始化为字符串类型的值,之后把它设置为数字值,如下所示:这段代码将毫无问题地输出字符串值和数字值。
var test = "hi"; alert(test); test = 55; alert(test);
这段代码将毫无问题地输出字符串值和数字值。但是,如前所述,使用变量时,好的编码习惯是始终存放相同类型的值。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)