
上QQ阅读APP看书,第一时间看更新
2.1.3 JavaScript变量声明
JavaScript在声明变量时不需要使用int、string等关键字,只需要使用var和let关键字来声明,例如:

也可以在声明变量时用等号给其赋值,例如:

下面用JavaScript声明变量,并在控制台中输出它的值。

也可以在同一语句中声明多个变量,以逗号隔开,例如:

也可以不写在同一行中,例如:

在JavaScript中,用var声明的变量是可以重新声明的,但是重新声明的变量的值不会丢失,而是继续保存,例如:

这段代码可以在控制台输出“XiaoMing”且不会报错,输出如图2.1所示。

图2.1 样例输出2.1
但是使用let声明的变量是不能被重新声明的,例如:

这段代码运行时会报错,输出如图2.2所示。

图2.2 样例输出2.2
其错误原因为变量已经被声明了,不能被重新声明,所以用let和var声明的变量是有一定区别的,但大体功能基本是相同的,具体的区别在以后的章节中会涉及。因为编者更习惯使用var关键字,所以在本书后续的代码中使用var来声明变量的情况会比较多。
值得注意的是,在JavaScript中不添加关键字var和let也可以声明变量,例如:

这段代码同样可以输出“XiaoMing”,和使用var声明变量的代码的结果相同。但是,不加var和let声明的“变量”和真正的变量是有区别的,不加var和let声明的变量实际上是给Window对象(即浏览器窗口)添加了一个不可配置的属性。