夺命雷公狗---javascript NO:05 js函数中的作用域
全局作用域
局部作用域
示例:
<script> var i = 10; //全局变量 function fun(){ var i =100; //局部变量 } fun(); </script>
问题:为什么在JavaScript代码中,局部作用域可以引用全局变量?
答:是由于受到作用域链的影响
什么是作用域链
在JavaScript代码中,如果在局部作用域引入了一个变量,其首先回到当前作用域寻找该变量的声明语句,如找到,则直接使用该变量,否则继续向上一级作用域中寻找,如找到则使用,否则继续向上一级作用域中寻找…直至最顶级作用域(全局作用域),如果在全局作用域还未找到该变量的声明语句,系统会自动在全局作用域声明该变量,我们把这种链式查找就称之为作用域链。