在JavaScript中,let和var是两种声明变量的关键字,它们有着明显的区别。
let的使用场景
let声明的变量只在其声明的块级作用域内有效,而不像var声明的变量那样可以在全局作用域内使用。let更适合用于在局部作用域内声明变量,比如在for循环中声明变量:
for(let i=0;i<10;i++){ console.log(i); }
let声明的变量不能重复声明,也就是说,在同一个作用域内不能声明两个相同名字的变量:
let a = 1; let a = 2; //SyntaxError: Identifier 'a' has already been declared
var的使用场景
var声明的变量可以在全局作用域内使用,而let声明的变量只能在其声明的块级作用域内使用。var更适合用于声明全局变量:
var a = 1; console.log(a); //1
var声明的变量可以重复声明,也就是说,在同一个作用域内可以声明多个相同名字的变量:
var a = 1; var a = 2; console.log(a); //2
let更适合用于局部变量的声明,而var更适合用于全局变量的声明。