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

全局作用域

局部作用域

示例:

 

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

 

 

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

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

 

什么是作用域链

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

posted @ 2015-12-09 09:30  夺命雷公狗  阅读(193)  评论(0编辑  收藏  举报