想请教一下下面的代码中,为什么A函数在执行时,我为A重新赋值为1,可是后面的alert(A)弹出的结果任然显示A为function?而如果A=1改为var A=1,就会弹出1。
另外:一般立即执行的函数都是匿名函数吧,这里让一个非匿名函数立即执行有点诡异啊。。呵呵
<script>
(function A(){
A=1;
alert(A) //显示function A(){..}
})()
function B(){
B=2
alert(B) //2
}
B();
B() //undefined
</script>
解释请参考
http://segmentfault.com/q/1010000002810093
这个才是正解~~~