主要有
- 全局污染区别
 
var a = 1;
window.a; // 多个 a 属性
- 两者都可以跨标签使用
 
<script>
  let a = 1;
</script>
<script>
  console.log(a); // 1
</script>
- 块级作用域
 - let 不存在TDZ 暂时性死区,声明之前无法访问变量。
 
主要有
var a = 1;
window.a; // 多个 a 属性
<script>
  let a = 1;
</script>
<script>
  console.log(a); // 1
</script>