预解析
js 解析两次代码
第一次是预解析,如果第一次发现有语法错误,报语法错误;变量提升
变量提升就是把变量提到最上面
变量提升是把变量提到作用域的上面,变量值不会
如果在中间看变量值,要把变量值写进去
变量提升在只有作用域的位置才会发生变量提升,<script>是个标签,是个大作用域
第二次是正常解析,
console.log 打印
右键 console 里面查看打印内容
当像下面情况下,打印出undefined,虽然触及变量提升,但函数里面的变量提升覆盖前面的变量提升,所以会undefined