系列
JavaScript教程
变量
前面提到的几种基础类型,都是常量,即不可变的。比如3和5是两个不同的常量,我们不能把3改成5,3就是3,5就是5。
实际编程中,我们不能总写数字、字符串这些常量来编程,因此需要引入变量来表示内存中的数据。
定义变量
定义变量,传统上的关键词是var
。但是由于JavaScript早期糟糕的设计,var
声明的变量作用域过大,因此目前一般不推荐使用var
。不过由于var
用得太普遍了,许多书和网上的代码都是用var
来定义的,因此还是需要知道的。
var studentName = "张三";
console.log(studentName);
studentName = "李四";
console.log(studentName);
使用等号(=
)将数据放到变量中的过程称为变量赋值,因此称=
是赋值运算符。
行尾的分号(;
)并不是变量名的一部分,而是表示前面的JavaScript语句结束。有些情况下,分号并不是必须的,但是强烈建议代码都写上分号,这样代码更易读。
ES2015里面,顶替var
的是两个新的关键词let
和const
。
let :定义普通的变量。普通的场景和var
很像。
let studentName = "张三";
console.log(studentName);
studentName = "李四";
console.log(studentName);
const :定义常量,即值不能再变的变量。
const ONE = 1;
console.log(ONE);
ONE = 2; // 这行代码有问题,运行会报错
console.log(ONE);
定义好的常量,是不可以再赋其他值的。
变量命名规则
每个变量都有一个名字,以便在代码的其他地方使用。
变量命名有这些规则:
1. 安全的字符
一般,只要使用英文字母(a-z
)、数字(0-9
)、下划线(_
)都是比较安全的字符。
2. 区分大小写
aValue
和avalue
是两个不同的变量。
3. 某些单词或字符不能用作变量名
JavaScript有些保留字,是不能用的,比如var、const、let、with、function, 等等
4. 某些符号不可以用在变量名中
比如&
和%
是不可以用在变量名中的。
5. 数字不能用在变量名的开头
101dogs
是不合法的,dogs101
则是合法的。
一般习惯上,JavaScript采用的是小写开头驼峰命名法,比如:
- name
- age
- courseName
- currentTime
- tempResult
为了让代码易于理解,应该使用有意义的变量名称。这样,在代码中用到这个变量的时候,就知道这个变量的作用。
上面列举的变量名比如name、currentTime都是清晰的命名,下面再列举一些不太好的变量名。
// 过短的变量名,只看名称看不出用途
let i;
let j;
let k;
let a;
let x;
// 不合理的缩写
let couNam; // courseName;
let ag; // age
// 使用汉语拼音。汉语拼音是用来给汉字注音的,单纯的拼音并不易理解
let nianling; // 年龄
let linshibianliang; // 临时变量