有名函数调用出现的问题

var a=1;
function btn(){
    console.log(a);
}
document.onclick=function(){
    var a=3;
    btn();
}

有名函数调用不会预解析,如果想console.log(a)//3,去掉var,不明白为什么去掉var 才能是

大哥,你上面已经全局定义了a,就不需要在var a了啊,不能定义同名变量