01_变量提升与函数提升


先执行变量提升, 再执行函数提升


<
body> <!-- 1. 变量声明提升 * 通过var定义(声明)的变量, 在定义语句之前就可以访问到 * 值: undefined 2. 函数声明提升 * 通过function声明的函数, 在之前就可以直接调用 * 值: 函数定义(对象) 3. 问题: 变量提升和函数提升是如何产生的? --> <script type="text/javascript"> console.log('-----') /* 面试题 : 输出 undefined */ var a = 3 function fn () { console.log(a) var a = 4 } fn() console.log(b) //undefined 变量提升 没有下面的var b 那么这条语句会报错 fn2() //可调用 函数提升 // fn3() //不能 变量提升 var b = 3 function fn2() { console.log('fn2()') } var fn3 = function () { console.log('fn3()') } </script> </body>

 

posted @ 2019-11-08 14:34  燕子fly  阅读(118)  评论(0编辑  收藏  举报