<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>let</title>
</head>
<body>
<script>
//声明变量
let a;
let b, c, d;
let e = 100;
let f = 521, g = 'dfhffrf', h = [];
//1. let 变量不能重复声明 ; 但是 var 的变量是可以重复声明的。
//2. 块级的作用域 全局,函数,eval
{
let girl ='dym'
}
console.log(girl); //这个在控制台中将会报错 let的作用域是块级的,只在代码块中有效; var的作用域是全局的
{
var boy ='dym'
}
console.log(girl); //这个在控制台中将不会报错
// 3. 不存在变量的提升
console.log(song); //控制台会报错,因为 let 的变量声明 没有变量提升; var 的变量声明 有变量提升
let song='frefgyr';
// 4. 不影响作用域链
{
let school ='dfreg';
function fn(){
console.log(school);
}
fn();
}
</script>
</body>
</html>