写代码就像做菜,变量就是你用的食材。在开始炒之前,得先把材料准备好、分门别类放好。变量声明和初始化,其实就是告诉程序“我要用一个叫某某的东西,并且它现在是什么值”。
什么是变量声明
声明变量,就是给变量起个名字,告诉系统要预留一块内存空间。比如在 JavaScript 中:
let username;
这行代码的意思是:我打算用一个叫 username 的变量,但暂时还没想好放什么内容。这时候它的值是 undefined。
初始化做了什么
初始化就是在声明的同时给变量赋一个初始值。还是上面的例子,改一下:
let username = "小明";
这一行不仅声明了变量,还顺手把它设成了“小明”。这个过程叫“初始化”,相当于一上来就把食材切好摆进碗里,随时能下锅。
不初始化会怎样
有时候你会看到这样的代码:
let count;
console.log(count); // 输出 undefined
虽然声明了,但没初始化,结果就是 undefined。如果这时候拿它去计算,比如 count + 1,结果就会是 NaN(不是数字),程序可能就跑偏了。就像炒菜时盐没称,随手抓一把,味道大概率不对。
声明和初始化可以分开
不一定非得一步到位。有时逻辑需要,先声明,后面再赋值:
let score;
// 做一些判断或操作
if (pass) {
score = 85;
} else {
score = 60;
}
这种情况很常见,比如用户登录后才确定显示哪个昵称,提前初始化反而不合适。
const 和 let 的区别
用 const 声明的变量必须初始化,否则报错:
const PI = 3.14159;
下面这行直接红字警告:
const API_URL; // SyntaxError: Missing initializer in const declaration
因为 const 意味着“这个值不会变”,所以必须一开始就给清楚。
实际场景举例
想象你在写一个网页计数器。页面加载时,计数从 0 开始:
let counter = 0;
function add() {
counter++;
document.getElementById('count').innerText = counter;
}
这里 counter 的初始化为 0 非常关键。如果只写 let counter;,第一次点击时就会显示“NaN”,用户体验直接崩掉。
变量声明和初始化看着简单,但它是程序稳定运行的基础。就像盖楼打地基,看似不起眼,出了问题 whole thing 就塌了。