1. var let const区别
关键字 | 变量提升 | 作用域 | 重复声明 |
var | 是 | 函数作用域 | 可以 |
let(ES6新语法) | 否 | 块级作用域 | 不可以 |
const | 否 | 块级作用域 | 不可以 |
2.var的变量提升
var声明的变量,会将声明放至作用域顶部,故输出结果为undefined
而用let和const声明的变量,不会出现变量提升,在声明前使用系统会报错
console.log(a); //undefined
var a = 1;
console.log(a); //1
3.函数的声明提升
函数提升是可以直接在函数声明之前调用该函数,并能成功执行它,而不会提升函数表达式
test() //函数内部
function test(){
console.log("函数内部")
}
test() //函数内部
4.const说明
- 声明时就要进行赋值
- 保存的数据一旦被赋值,无法修改
- 保存引用类型的数据时,存储的是地址,故可以修改对象内容,对其地址不能重新赋值