作用域
//作用域可以用{}进行隔离
{
function anlei() {
return 2
}
console.log("anlei()===1",anlei() === 2)
{
function chenbin() {
return 3
}
console.log("chenbin()===1",chenbin() ===3)
}
console.log("anlei()===1",anlei() === 2)
}
var声明的变量作用域的范围是函数范围内的:
function func() {
console.log(tmp); // => undefined
if (true) {
var tmp = 123;
console.log(tmp); // => 123
}
console.log(tmp); // => 123
}
console.log(tmp); // => ReferenceError: tmp is not defined
块作用域会有变量冲突
function func() {
let foo = 5;
console.log(foo); // => 5
if (true) {
let foo = 10;
console.log(foo); // => 10
}
console.log(foo); // => 5
}