fun(); //報錯TypeErrorvar a=true;if(a){
function fun() {
console.log("1");
}
}else{
function fun() {
console.log("2");
}
}按書中的說法,由于函數(shù)的提升,且不受條件判斷控制,應該是輸出2的??墒俏疫\行卻報錯了。然后我把條件控制去掉,像這樣: fun();//2
function fun() { console.log("1");
}
function fun() { console.log("2");
}果然,輸出了2然后,我把條件語句加上,在最后執(zhí)行函數(shù),像這樣:var a=true;if(a){
function fun() {
console.log("1");
}
}else{
function fun() {
console.log("2");
}
}fun();//1輸出1誰能解釋一下,第一個輸出的原理?以及和書上的不一樣,是因為瀏覽器升級了的緣故嗎?
看《你不知道的javascript》,自己試驗了一下書中一段代碼,和書中講解的不一樣
楊__羊羊
2018-09-10 12:10:44