JS中的变量2

280 阅读1分钟

JS中的变量

let定义变量

  • 与var类似,用来定义变量

特点:

1.块级作用域(第三种作用域)。let所声明的变量,只在let命令所在的代码块内有效。
function name(){
    let a = 1 ;
}
name();
coonsole.log(a)

在使用var的时代,只有全局作用域和局部作用域,在es6中提出let关键,可以声明一个块级作用域。
let没有“变量提升”现象。
不会成为window对象的属性
暂时性死区(TDZ)
不能重复定义
let a=1;
    let a=1;
    console.log(a)

const定义变量

  • const:声明常量。值不能改变。
特点:
1,定义完后,不能修改值(基本数据类型,也可能是地址)
const obj = {name:"xiaoming"}
console.log(obj)
obj.age = 100;
console.log(obj)
obj = 1;
console.log(obj)

2,不能重复声明
    const a =1;
const a=2;
console.log(a)

3,没有提升
4,声明时必须赋值
const a;
console.log(a)