1. let
和var
的区别
-
let
定义的变量具有块级作用域
{
let a = 1
console.log(a) // 1
}
console.log(a) // Error: a is not defined
- 在全局中使用
var
定义的变量可以通过window.xxx
的方式访问,而使用let
定义的变量不能用这种方式访问
var b = 3
let c = 4
console.log(b, c)
console.log(window.b, window.c)
-
var
定义的变量可以重复定义,let
定义的变量不能重复定义
var a = 1
var a = 2
console.log(a)
let b = 3
let b = 4
console.log(b)
-
let
不会进行变量提升
2. const
-
let
的特点const
都有 -
const
声明的值不可改变
const a = 2
a = 3
console.log(a)
-
const
不允许先声明再赋值
const b
b = 3