函数一一局部与全局 例题解析

1

 找的时候先在自己里找,没有去外面找,所以结果是123

2

 

由于变量提前声明(在所有代码执行之前声明),也就是a已经有了但没有赋值,所以打印出来是undefined(是局部的a),var a 修改的是局部的,对全局没有任何影响,所以第二个打印全局a 123。

3

 

第一次打印的时候,因为局部没有a,(a=456不是局部a,并不会被提前声明)找全局,所以第一次打印123,然后a=456,给a赋值,因为局部没有a,找全局,所以全局的a被赋值456,第二次打印456

 

4

因为function();没有传实参,所以第一次打印undefined,然后因为a=456,能在函数里找到a,所以给函数里的a赋值,不影响全局,打印123。

 

5

第一次123,第二次123(因为a=456修改的是局部a)

 

posted @ 2018-05-18 10:32  三万元起步的电脑  阅读(133)  评论(0)    收藏  举报