JavaScript 变量
变量是"装数据的盒子":程序运行时需要记住名字、年龄、价格等数据,都要放进变量里,之后可以随时读取或修改。JS 中声明变量有关键字 var、let、const,本章讲清用法与命名规则。
什么是变量
变量就是给数据起的名字。先用关键字声明,再用 = 赋值:
let name; // 声明变量 name
name = "小明"; // 给变量赋值
let age = 18; // 声明的同时直接赋值
console.log(name, age);
// 输出:小明 18
三种声明关键字
- var:老式写法,函数作用域,可重复声明,容易踩坑,新代码少用。
- let:现代推荐写法,块级作用域,可重新赋值。
- const:声明常量,赋值后不可再改变,适合不会变的值。
var a = 1; // 老写法,了解即可
let b = 2; // 推荐:会变的量
const PI = 3.14; // 推荐:不会变的量
console.log(a, b, PI);
// 输出:1 2 3.14
重新赋值与 const 的限制
let 变量可以重新赋值;const 声明后再赋值会直接报错:
let score = 90;
score = 95; // 可以,let 允许重新赋值
console.log(score); // 输出:95
const TAX = 0.13;
// TAX = 0.2; // 报错:不能给常量重新赋值
命名规则
- 只能以字母、下划线
_或美元符$开头,不能以数字开头。 - 名字中可以包含字母、数字、
_、$。 - 区分大小写:Name 与 name 是两个不同的变量。
- 不能使用关键字(let、if、for 等)作为变量名。
- 惯例用"小驼峰"命名:firstName、myAge;常量全大写:MAX_SIZE。
let firstName = "张"; // 正确
let _private = 1; // 正确,下划线开头合法
// let 2fast = 2; // 错误:不能以数字开头
// let if = 3; // 错误:if 是关键字
console.log(firstName); // 输出:张
只声明不赋值:undefined
只声明、不赋值的变量,其值默认是 undefined(未定义):
let nothing;
console.log(nothing); // 输出:undefined
小结
新代码一律用 let(可变)与 const(不可变),var 了解即可;命名遵守规则、做到见名知意,是写出好代码的第一步。