---------------------------
把let声明在全局,全局都能访问
let a = 3
if (true) {
console.log(a)
}
console.log(a)
--------------------
变量b用let声明在块内,外部访问不到b,报错
let a = 3
if (true) {
let b =5
console.log(b)
}
console.log(b)
--------------------
变量b用var声明在块内,外部能访问
let a = 3
if (true) {
var b =5
console.log(b)
}
console.log(b)
---------------------
如果不用任何关键字修饰变量b,b会自动提升为全局变量,相当于var修饰
let a = 3
if (true) {
b =5
console.log(b)
}
console.log(b)
----------------------
思考1:
let a = 5
if (true) {
let a = 3
if (true) {
let a = 6
console.log(a)
}
}
console.log(a)
思考2:
let a = 5
if (true) {
let a = 3
if (true) {
console.log(a)
}
}
console.log(a)