<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
//let 声明变量
//1.let声明变量,没有变量提升
// console.log(a);
// let a = 2;
//2.是一个块局部作用域
if (1===1){
// var b = 10
let a = 10
}
// console.log(b)//10
// console.log(a)//a没有定义
//3.不能重复声明
// let a = 1;
// let a = 3;
// console.log(a);
//const 声明常量 一旦被声明 无法修改 无变量提升 作用局部作用域 不能重复声明
const max = 30;
// max = 40;
console.log(max);//报错无法修改
//const 声明的对象 对象内部数据可以改变
const person = {
name:'walter'
}
person.name = 'lizzy';
console.log(person)//{name: "lizzy"}
//作用1:for循环 没有变量提升,对于数据不会产生影响
//作用2:不会污染全局变量
let RegExp = 10;
console.log(RegExp);//10
console.log(window.RegExp);//一个全局函数
//建议:在默认情况下用const,而只有在你知道变量值需要被修改的情况使用let
</script>
</body>
</html>