上一章我们说我们的写法是不完善的,为什么呢?因为我们在使用一个变量之前,应该首先对变量进行声明。就好像我们在希望某个人去做某件事情之前,要先明确他是我们的员工。

可是前面没有做声明,为什么没出问题呢?因为 JS 的语法并不严格,变量可以拿来就用。既然如此,又为什么还是要进行声明呢?因为不声明会很混乱。(这样好像什么都没说,因为解释不清楚啊,一解释就涉及到很多没讲到的名词,再展开,这一章都不够用,那就很枯燥了,不如我们讲个故事吧。

因为我做前端,所以单位里大家都叫我前端,约定俗成,心知肚明……反正一说起来大家都明白。但是和其他单位的一起开会,讨论起来就很混乱,因为他们那边做前端的同学也被大家亲切地称呼为前端。这个项目谁负责做?前端去做吧。反正我不做,我觉得这说的不是我,我就可以偷懒了。这个奖金给谁?给前端吧,那我肯定去领,你看说的给我嘛……

这样就混乱了。所以我们要声明一下,方便讨论。类似于我下面所说的前端,都是指我们公司的这位做前端的同志。这样就不乱了。或者,下面项目中,我们公司的部分,都是我们这边的前端同志负责,你们公司那边的,由你们的前端负责。把范围划分清楚再讨论,就没有歧义了。

那么大概理解了为什么要声明变量,我们来学习怎么声明变量:

var a;

这样我们就声明了一个变量 a,后面就可以安心的去使用了。不过现在的 a 并没有值,我们也可以在声明的同时进行赋值:

var a = 5;

如果我们需要声明多个变量,也可以一起来:

var a, b, c;

声明多个变量,并对其中某些变量进行赋值:

var a = 5, b =3, c;

挺好理解的,对于变量,要先声明,后使用,不要重复进行声明

但是,var 有点愣头青,或者说级别太高,很多时候显得并不好用。依旧举例子:

你是谁?我是厂长!——这时候我们还可以理解。

你是哪个厂的厂长?我到哪个厂就是哪个厂的厂长。——这就有点不可理喻了。

差不多就是这个意思,var 声明是全局的,到哪都能用(不绝对,但在范围上是,以后逐步理解),有点钦差见官大三级的意思。

好像一个变量到哪里都能用是个优点,因为我们会很省心啊。然而并不是,这会搞得非常混乱。两个公司共用一个人来做前端的活,可能两边同时给这个人布置任务,把人累死,活也没做好。可是两边好像都没什么错,很尴尬。

不过还好,随着新标准的出现,我们有了新的声明方法可用,就很舒服了。所以现在建议没有绝对的必要性就不要使用 var 去声明变量。

一不小心说了这么多了,嗯,新的方法我们就留在下一章继续吧~

【本章助记卡片:卡片 for 第九十三章