JavaScript 中 var 和 let 变量声明有什么区别?
javascript 中 var 和 let 变量声明的差异
在 javascript 中,可以声明变量的方式有两种:var 和 let。它们之间的主要区别在于作用域。
var
- 使用 var 声明的变量属于全局变量。
- 变量可以多次声明,并且每次声明都会创建新的变量。
- 变量可以在声明之前访问,这会导致一个名为“变量提升”的行为。
var i = 0; console.log(i); // 输出:undefined i = 1; console.log(i); // 输出:1
let
- 使用 let 声明的变量是局部变量。
- 变量只能声明一次,否则会抛出错误。
- 变量只能在声明之后访问,因此不会出现“变量提升”行为。
let i = 0; console.log(i); // 输出:0 i = 1; console.log(i); // 输出:1
除了 let 之外,还有一种称为 const 的变量声明方式。const 声明的变量也是局部变量,但它们的值不能被更改。
总而言之,var 声明全局变量,let 和 const 声明局部变量。let 和 const 可以防止变量提升,并且 let 允许修改变量的值,而 const 则不允许。