作用域
含义: 教你怎么写代码
作用: 生效,有用
域: 范围
作用域: 变量(变量名,函数名)生效的范围
两种
1.全局作用域
- 打开一个页面,就是一个全局作用域
- 全局作用域,叫做
window
2.私有作用域(局部作用域)
- 只有函数生成是由作用域
- 每一个函数就是一个私有作用域
作用域的上下级关系
- 你的作用域写在谁的下面,你就是谁的子级作用域
函数作用域
<script>
let a = 10,
b = 20;
function fn() {
let a = 100,
w = 200;
console.log('fn '+a, w);
function fn2() {
let a = 1000,
r = 2000;
console.log('fn2 '+a, r);
}
fn2();
}
console.log('全局 '+a, b);
fn();
</script>
作用域最大的用处就是隔离变量,不同作用域下同名变量不会有冲突。
作用域链
如果当前作用域中没有值,就会去获取上一级的作用域中去找
<script>
let a = 10,
b = 100;
function fn() {
let b = 20;
function fn2() {
console.log(a + b);
}
fn2();
}
fn();
</script>