作用域
- 目标
- 能够说出JS的两种作用域
- 能够区分全局变量和局部变量
- 能够说出如何在作用域链中查找变量的值
作用域
通常来说,程序代码中所用到的名字(变量)并不总是有效和可用的。限定这个名字(变量)的可用性代码范围就是这个名字的作用域。
作用:提高程序逻辑的局限性,增强程序的可靠性,减少名字(变量)冲突。
js的作用域(es6)之前:全局作用域和局部作用域
全局作用域:整个script标签或者是一个单独的js文件
局部作用域:在函数内部就是局部作用域 这个代码的名字只在函数内部起效果和作用
变量的作用域
根据作用域的不同,变量可以分为两种:
全局变量
局部变量
在局部作用域下的变量 或者再函数内部的变量就是局部变量
注意:如果在函数内部没有声明。直接赋值的变量,也属于全局变量,函数的形参也可以看做是局部变量
全局变量只有浏览器关闭的时候才会销毁,比较占内存资源
|
局部变量 当我们程序执行完毕就会销毁 比较节约资源
作用域链
就近原则往上级查找可用变量就完事了