let

43 阅读1分钟
  • let与var有许多共同点,他们都是声明变量的作用域
var str="var声明的"
let str1="let声明的"
console.log(str)
console.log(str1)

image.png

  • 当然,let与var也有许多不同点,这让let在一些运用中脱颖而出
  1. let是块级作用域,一个大括号就是一个作用域,而不是在函数里面才算局部作用域
 {
    let str = "let声明的"
    let a = 22
    console.log(str)//在作用域里面可以访问
  }
  console.log(a)//在作用域外面无法访问

image.png

  1. let不能在定义之前访问该变量,相当于没有隐式提升
  console.log(a)//先访问会出错
  let a=77

image.png

  1. let不能被重新定义
var a = 1;
var a = 2;
console.log(a);  // 2
let c= 3;
let c= 4;
console.log(b); 

image.png