关于全局变量和局部变量的理解
1 ,函数内部声明变量是函数自己的局部变量,函数外部声明变量是全局变量,
如果函数内没有声明局部变量,将返回全局变量,如果函数内部声明有局部变量,
将返回局部变量;
2,如下图,函数内声明有color= red,返回red;
2,下图没有声明局部变量,返回blue;
3,传递参数:ECMA中所有参数的传递都是按值传递;参数只能按值传递;
参数实际上是函数的局部变量;调用这个函数时,变量count作为参数传入函数中,
count的值为20,数值20便复制给num使用,就是按值传递;如下:
在函数内部修改参数的值,原始的引用仍保持不变;
4,对作用域的理解:
首先需要理解全局环境,和局部环境,当没有创建函数的时候,可以认为整体是一个全局环境,
创建函数后,就相当于创建了一个局部环境,函数内部可以嵌套函数,说明函数内部还有一个
局部环境,子环境可以引用父环境声明的变量,而父环境不能引用子环境的变量;