let
和var
都用来声明变量let
变量一定要先声明再使用, 而 var 变量可以先使用再声明 (先使用的值是undefined
), 即变量提升 (即变量声明提升到变量使用之前)- 相同作用域
let
变量不能重复声明, 而var
变量可以重复声明 const
与let
相似, 只是const
表示常量, 即不能再次赋值
/*
let 和 var 都用来声明变量
let 变量一定要先声明再使用, 而 var 变量可以先使用再声明 (先使用的值是 undefined)
相同作用域 let 变量不能重复声明, 而 var 变量可以重复声明
*/
// let 变量先使用, 会报错 Uncaught ReferenceError: Cannot access 'username' before initialization
// console.log(username);
let username = 'wj'
// let 同名变量在相同作用域不能重复声明, 报错 Uncaught SyntaxError: Identifier 'username' has already been declared
// let username = 'wj'
// var 变量可以先使用, 再声明
console.log({pwd});
var pwd = 'wj'
// var 变量在相同作用域可以重复声明
var pwd = 'wj'
console.log({pwd});