今天看到個題目,很疑惑,一直沒想到答案,題目是這樣的:<script>
function g() { console.log(123) return true
}
;(function(){ console.log(g) //undefined
console.log(g()) //g is not function
if(g) { function g() { console.log(456) return false
}
}
})() console.log(g()) </script>在自執行函數中,使用函數聲明定義function也還是會變量提升的,既然提升了為什么還是undefind或者說為什么是g is not function?請大神們告知一二,謝謝
關于自執行函數定義函數聲明結果輸出為undefined的問題
慕虎7371278
2018-07-18 13:54:49