函数一一局部与全局 例题解析
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)

浙公网安备 33010602011771号