2.4.2 使用变量

一旦创建了变量,就可以在其中存储任何类型的数据。为了做到这一点,可以使用=符号。例如,要把数值0存储到一个名为score的变量中,可以编写如下代码:


var score;

score=0;


上面代码的第一行创建了一个变量,第二行把数值0存储到这个变量中。等号叫做赋值操作符,因为它用来把一个值赋给变量。也可以只在一行JavaScript语句创建一个变量并把一个值存储到其中,如下所示:


var score=0;


可以在一个变量中存储字符串、数值和Boolean值:


var firstName='Peter';

var lastName='Parker';

var age=22;

var isSuperHero=true;


提示:为了减少录入,可以用一个var关键字声明多个变量,如下所示:


var x, y,z;


甚至可以在一条JavaScript语句中声明多个变量并在其中存储值:


var isSuperHero=true, isAfraidOfHeights=false;


一旦把值存储到一个变量中,就可以使用变量的名字直接访问值。例如,要打开一个警告对话框并且显示存储在变量score中值,应该输入:


alert(score);


注意,不能把变量和引号一起使用,引号只是和字符串一起使用,因此,代码alert('score')将显示单词“score”而不是存储在变量score中的值。现在,你应该明白为什么字符串必须包围在引号中了:对于没有引号的单词,JavaScript解释器将其当做特殊的JavaScript对象(例如alert()函数)或变量名处理。

常见问题JavaScript中的空格、制表符和回车

JavaScript似乎对录入错误很敏感。如何知道什么时候应该使用一个空格字符,以及什么时候不允许使用空格呢?

通常,JavaScript对空格、回车和制表符的使用并不是很严格。你经常可以漏掉空格,或者甚至添加额外的空格和回车,而不会有什么问题。JavaScript解释器忽略了额外的空格,因此,你可以自由地插入额外的空格、制表符和回车来格式化代码。例如,在赋值操作符的任何一端都不需要一个空格,但是,如果你觉得添加空格更容易阅读的话,也可以添加它们。下面的两行代码都有效:


var formName='signup';

var formRegistration='newsletter';


实际上,我们可以插入想要的任意多个空格,甚至是在一条语句中插入回车。因此,如下的两条语句都是有效的:


var formName='signup';

var formRegistration='newsletter';


当然,能够插入额外的空格,并不意味着应该这么做。实际上,由于存在额外的空格,前两个例子变得难以阅读。因此,首要的一般规则是,如果额外的空格使得代码容易理解,就添加它。例如,在一次声明多个变量或一次设置多个变量的值的时候,额外的回车能够使得代码更容易阅读。如下是单独一行的代码:


var score=0,highScore=0,player=’’;


然而,有些程序员发现,如果每个变量单独一行的话,阅读起来更容易一些:


var score=0,

highScore=0,

player=’’;


是否认为空格便于阅读,这取决于你,JavaScript解释器只是忽略这些换行。在2.8节和4.8.3节,你将分别看到空格使得带有数组和JavaScript对象直接量的代码更容易阅读的例子。

上述规则有几个重要的例外,例如,不能在字符串中插入回车,换句话说,不能像下面这样把字符串分隔到两行:


var name='Bob

Smith';


像这样插入一个回车(按下回车键)将会导致一个JavaScript错误并且程序无法运行。

此外,在关键字之间必须放置一个空格:例如,varscore=0和var score=0是不同的。

后一个例子创建了一个名为score的新变量,而前者将值0存储到了一个名为varscore的变量中。JavaScript解释器需要通过var和score之间的空格来识别var关键字,即var score=0。然而,并非必须在关键字和赋值运算符(=)或结束语句的分号等符号之间使用一个空格。

注意:你只需要使用var关键字一次,即第一次创建该变量的时候。此后,可以随意地把一个新值赋给变量而不需要使用var。