javaScriptna那些事儿
作用域
JS的作用域简单来说就是变量(变量作用于又称上下文)和函数生效(能被访问)的区域
### 1.全局作用域
函数之外声明的变量,会成为全局变量。
变量在程序的任何地方都能被访问,表示它是全局变量,window 对象的内置属性都拥有全局作用域。
#### 自动全局
如果您为尚未声明的变量赋值,此变量会自动成为**全局变量**
### 2.函数作用域
**在固定的代码片段(函数)才能被访问**
**函数作用域就是一个独立的地盘,让变量不会外泄、暴露出去**。也就是说**作用域最大的用处就是隔离变量,不同作用域下同名变量不会有冲突。**
变量取值:**到创建 这个变量 的函数的作用域中取值**
3.作用域链
变量取值到 创建 这个变量 的函数的作用域中取值。
但是如果在当前作用域中没有查到值,就会向上级作用域去查,直到查到全局作用域,这么一个查找过程形成的链条就叫做作用域链。
二、this指向