作用:
作用域:代码在某个范围内起的作用和效果
一段代码总是有效或可用的 而限定这个名字的可用的代码范围 说这个名字的作用域 ,主要是为了减少命名的冲突
JS 中作用域分为哪三种?
- 全局作用域。全局有效
- 局部作用域。函数内部有效
- 块级作用域。 { } 内有效
根据作用域不同,变量分为哪三种?
- 全局变量
- 局部变量
- 块级变量
变量作用域:
全局变量
任何一个地方可以使用,浏览器关闭才会销毁,没有声明直接赋值的变量也属于全局变量
局部变量
函数内部使用,代码块执行才会初始化,代码块运行结束后,会被销毁,更节省内部空间
es6新增块级作用域:
js现阶段无块级作用域
作用域链:
作用域链形成原因:代码,至少有一个作用域,函数内部还有局部作用域,函数中还有函数,作用域中就又可以诞生1个作用域,作用域连就是根据内部函数可以访问外部函数一级一级向外查找形成的
内部函数可以访问外部函,链式查找,就近原则,一级一级的向外查找
变量访问原则是什么?
作用域链:采取就近原则的方式来查找变量最终的值