哪位大神回復(fù)一下!
我剛才試了,我聲明一個(gè)變量var a;然后再繼續(xù)聲明function a(){};那么在控制臺(tái)會(huì)輸出typeof a 會(huì)是函數(shù),接下里我改了一下,var a=1;繼續(xù)輸出,此時(shí)a是number;繼續(xù)function a(){return 5;} ? 我強(qiáng)制輸出a();控制臺(tái)說(shuō)a不是個(gè)函數(shù)。于是誰(shuí)能解釋一下。是因?yàn)閒unction a(){}只有聲明過(guò)程。沒有執(zhí)行過(guò)程嗎?我把a(bǔ) 用函數(shù)表達(dá)式輸出,此時(shí)才能返回a是個(gè)函數(shù)。
2016-04-28
是的,function a(){}只有聲明過(guò)程;
順序是這樣的:1.function a(){return 5;}進(jìn)行函數(shù)聲明;
? ? ? ? ? ? ? ? ? ? ? ?2.var a被忽略;
? ? ? ? ? ? ? ? ? ? ? ?3.var a=1使a被賦值為1,并覆蓋掉了函數(shù)聲明,使a變成了number
然后強(qiáng)制輸出a()是執(zhí)行函數(shù)的語(yǔ)句,a不是函數(shù)當(dāng)然報(bào)錯(cuò)了~
2016-07-31
這個(gè)我明白了