2-4练习1
来源:3-1 声明对象的方式(上)
Nekosan
2018-06-05 21:43:21
var a = 111
function test(){
alert(a);
var a=11;
function subTest(){
alert(a);
}
return subTest;
}
test()();为啥第一次返回undefined而不是111?
1回答
在test函数里面弹出a,首先会看这个函数里面是否有定义a,如果有就用自己函数中的,如果没有就用外面的。因为test函数里面有a的定义,但是在弹出a的下面,所以就会弹出‘undefined’。你把函数内部的var a=11;去掉就理解了。自己再测试下,祝学习愉快~~
相似问题