1.作用域的不同:
{ let a = 10; var b = 1; } a // ReferenceError: a is not defined. b // 1
var
关键字是全局变量或者函数变量
let
关键字是块作用域
2.定义和使用变量的不同:
// var 的情况 console.log(foo); // 输出undefined var foo = 2; // let 的情况 console.log(bar); // 报错ReferenceError let bar = 2;
let
必须是先定义,再使用,
var
可以先使用后声明,使用未定义变量的时候,其值为undefined
3.重复声明的不同:
var a; var a; let b; let b;
var
关键字重复声明正确;
let
关键字重复声明报错;Uncaught SyntaxError: Identifier 'b' has already been declared
推荐:《2021年js面试题及答案(大汇总)》
Atas ialah kandungan terperinci JS中let和var的区别. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!