语法基础
约 293 字小于 1 分钟
2025-11-05
变量
JavaScript 中有三个关键字来声明变量:var、let 和 const。
var
var 声明的变量有以下特点:
- 函数作用域,函数退出时销毁
- 拥有变量提升
- 允许重复声明
- 会成为 window 对象(可通过 window.a 访问)
在函数内部使用 var 创建的变量,函数内部可以访问。在函数退出时销毁。
function add(){
var a = 1;
}
add();
console.log(a); // ReferenceError: a is not defined由于 var 具有变量提升,会将声明的变量拉到函数顶部,所以允许在声明前使用,且可以多次声明。
function add(){
console.log(a);
var a = 1;
var a = 2; // 允许重新声明
}
// 由于变量提升,上面代码等价于:
function add(){
var a;
console.log(a);
a = 1;
a = 2;
}
add();
// 输出:undefinedlet
let 声明的变量有以下特点:
- 块作用域
- 不会在作用域中被变量提升
若 let 变量是声明在 for 、if 等块域中,let 变量只在当前块域有效。且由于没有变量提升,存在暂时性失去,在声明前使用会抛出 ReferenceError 错误。