局部作用域
1. 局部作用域: 函数作用域 + 块级作用域
2. 块级作用域: 大括号 + let / const 声明 的变量
作用域分为哪两种: 局部和全局
作用域这个概念是干什么的: 就是你当前变量使用范围
局部作用域: 函数作用域 + 块级作用域
1. 局部作用域里面定义的变量外面访问不到
function getNum() {
const count = 100;
console.log(num);
}
getNum()
块级作用域: 大括号 + let / const 声明的变量 --- if + for
const msg = "hello"
}
console.log(msg);
for(let i = 0; i< 3; i++) {
console.log(i);
}
console.log(i);
全局作用域 ----
const num = 10;
if (true) {
const str = "hello"
console.log(num);
}
function fn() {
console.log(num);
}
调用函数
fn()
console.log(str);
作用域链
<script>
let a = 1;
function fn() {
let a = 10
function g() {
a = 20
console.log(a);
}
g()
}
fn()
</script>
总结
1. 局部作用域: 函数作用域 + 块级作用域
2. 全局作用域变量访问机制: 在任何局部作用域里面都可以看见
3. 局部作用域变量的访问机制:在局部作用域里面定义的变量外面看不见
4. 作用域链: 什么是作用域链: 变量的查找机制
具体是什么机制: 从内向外, 就近查找