夺命雷公狗---javascript NO:05 js函数中的作用域

全局作用域

局部作用域

示例:

<script>
var i = 10;  //全局变量
function fun(){
var i =100;  //局部变量
}
fun();
</script>

问题:为什么在JavaScript代码中,局部作用域可以引用全局变量?

答:是由于受到作用域链的影响

什么是作用域链

在JavaScript代码中,如果在局部作用域引入了一个变量,其首先回到当前作用域寻找该变量的声明语句,如找到,则直接使用该变量,否则继续向上一级作用域中寻找,如找到则使用,否则继续向上一级作用域中寻找…直至最顶级作用域(全局作用域),如果在全局作用域还未找到该变量的声明语句,系统会自动在全局作用域声明该变量,我们把这种链式查找就称之为作用域链。

原文地址:https://www.cnblogs.com/leigood/p/5031806.html