在 JavaScript 开发中,变量声明是基础且重要的部分。 var 和 let 都是用于声明变量的关键字,但它们在作用域、变量提升、重复声明等方面存在显著差异。本文将详细探讨它们的区别,并给出使用建议。
1. 作用域
1.1 var 的作用域
var声明的变量具有函数作用域(function scope)或全局作用域(global scope)。这意味着:
- 如果在函数内部声明,变量的作用域是整个函数,即使它被声明在某个代码块(如 if 语句块)中。
- 如果在函数外部声明,变量的作用域是全局的。
function exampleVar() {
if (true) {
var x = 10;
}
console.log(x); // 输出 10,因为 x 的作用域是整个函数
}
exampleVar();
1.2 let 的作用域
let声明的变量具有块级作用域(block scope),即变量的作用域仅限于它所在的代码块(如 {} 包裹的代码块)。这意味着:
- 在块级作用域内声明的变量不会影响外部作用域。
function exampleLet() {
if (true) {
let y = 20;
}
console.log(

最低0.47元/天 解锁文章
297

被折叠的 条评论
为什么被折叠?



