废话不多说。
第一你一定要清楚全局变量与局部变量的是什么?
你记住函数作为分界线,倘若在函数内部声明了变量,那么该变量一定是局部变量;(永远不会错)
相反在函数外部声明的变量也一定是全局变量(其永远是全局变量,无论什么时候);
下面有请杠精同学上场提问,那要是内部外部都声明同一个变量怎么搞?那可不可以说这个变量即使全局的又是局部的?
不论你怎么去理解你记住这两个相同名的变量的作用域是不同的即可;
贴一段小代码,看一下依次输出1,haha,2;
那么还有几个问题是这样的请看代码
这里的函数内部没有声明变量说明这个a就是上面声明的变量a,那么结果很明显同一个a下面改变了值,自然a打印2喽;
聪明如我的你有没有发现这两段demo的一点点不同呢?奥说道这忘了说隐式全局变量了,就是函数外部没有声明的变量(有点草率哈);此时你会发现现在的a在函数内部是局部的,但是函数外部就是全局的所以此时的a打印就是1喽
这又有点不同哦,不用我说你能知道,那么此时打印的是2是没有疑问的吧你,因为啥呢?函数内部没有申明变量,但是讲a的值变为2了。所以打印的自然就是2喽。
写到这,如果你还在继续看,那么久恭喜你了,因为我要总结了
记住在函数内部没有申明的变量,那么此变量就一定是全局的。所以只要改变其值,那么值就一定会变的。
相反如果在函数内部声明的变量,那么就是局部的变量,只有在函数内部才能访问,其他地方是没有条件或者说没有资格去访问的,那么就这样