关于全局变量和局部变量的理解

1 ,函数内部声明变量是函数自己的局部变量,函数外部声明变量是全局变量,

如果函数内没有声明局部变量,将返回全局变量,如果函数内部声明有局部变量,

将返回局部变量;

2,如下图,函数内声明有color= red,返回red;

2,下图没有声明局部变量,返回blue;

3,传递参数:ECMA中所有参数的传递都是按值传递;参数只能按值传递; 

参数实际上是函数的局部变量;调用这个函数时,变量count作为参数传入函数中,

count的值为20,数值20便复制给num使用,就是按值传递;如下:

在函数内部修改参数的值,原始的引用仍保持不变;

4,对作用域的理解:

首先需要理解全局环境,和局部环境,当没有创建函数的时候,可以认为整体是一个全局环境,

创建函数后,就相当于创建了一个局部环境,函数内部可以嵌套函数,说明函数内部还有一个

局部环境,子环境可以引用父环境声明的变量,而父环境不能引用子环境的变量;

 

posted @ 2016-07-05 13:19  Terre  阅读(688)  评论(0编辑  收藏  举报

风光无限好