当前位置:嗨网首页>书籍在线阅读

02-变量和常量

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

3.1 变量和常量

变量实质上是一个具名的值。顾名思义,变量的值是可变的。例如,在开发一个温度监控系统,系统中可能有个变量叫作 currentTempC

let currentTempC = 22; // degrees Celsius
let关键字是ES6新出的。在ES6之前,var是唯一用来定义变量的关键字,第7章中有关于它的介绍。

这条语句做了两件事:声明(创建)变量currentTempC并给它指定了一个初始值。可以随时改变currentTempC的值。

currentTempC = 22.5;

注意,这里没有使用let关键字;let仅用来声明变量,并且只能声明一次。

JavaScript是不能给数字指定单位的。也就是说,不能限定变量currentTempC的单位为摄氏度。如果赋给currentTempC一个值,而该值是以华氏度换算出来的,程序就会发生异常(执行结果有误)。考虑到这一点,会给变量名加上后缀“C”来说明它的单位是摄氏度。语言本身并没有这种强约束,这么做其实是以文档的形式来避免一些不经意间的错误。

声明变量的时候也可以不指定初始值,此时变量会有一个特殊的默认值:undefined:

let targetTempC; //   等价于 "let targetTempC = undefined"; 

let 关键字还可以同时声明多个变量:

let targetTempC, room1 = "conference_room_a", room2 = "lobby";

上面的实例代码中声明了三个变量: targetTempC 没有初始值,所以它的值是 undefinedroom1room2 分别指定了初始值 "conference_room_a""lobby" ,它们都是字符串(文本)变量。

常量(ES6的新特性)也可以存储值,但它与变量不同:常量一旦初始化就不能再改变。可以用常量来表示舒适的室内温度和最高温度(关键字 const 也可以声明多个常量):

const ROOM_TEMP_C = 21.5, MAX_TEMP_C = 30;

有这样一个惯例(非强制):凡是代表明确数字或字符串的常量名都应该由大写字母组成,并用下划线间隔多个单词。这么做是为了便于区分,同时也是种视觉提示:不应该试图改变它的值。