1、作用域
5.1 什么是作用域
作用域呢就是可访问函数,对象,变量的一个集合,他可分为局部作用域和全局作用域
5.2 window,全局作用域,在全局作用域下声明的变量是全局变量
在函数内部 没有声明直接赋值的变量也属于全局变量
5.3 局部作用域和局部变量: 函数内部就是局部作用域, 在函数内部声明的变量就是局部变量
函数的形参也可以看作是局部变量
5.4 作用域访问规则
(1)函数内部可以访问函数外部的变量(2)函数外部不可以访问函数内部的变量(3)多个作用域用作用域链进行连接(4)没有块级作用域(区分作用域以函数作为区分条件)
2、作用域链
<script>// 作用链: 要访问一个变量, 首先从本函数开始寻找, 找不到,就沿着作用域链一级一级向上找, 一直找到window,若没有,就把报错var color = '红色';function getColor() {var color = '青色';var color2 = '蓝色';function test() {var color3 = '绿色';console.log(color);console.log(color2);console.log(color3);console.log(color4);}test();}getColor();// (2)函数外部不可以访问函数内部的变量//console.log(color2); // 会报错</script>
