今天看到个题目,很疑惑,一直没想到答案,题目是这样的:
<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?请大神们告知一二,谢谢
SMILET
陪伴而非守候
慕尼黑的夜晚无繁华