1. 變數聲明提升 / 變數提升 -- 通過var定義(聲明)的變數,在定義語句之前就可以訪問到 -- 值:undefined 2. 函數聲明提升 / 函數提升 -- 通過function聲明的函數,在之前就可以直接調用 -- 值:函數定義(對象)
<script type="text/javascript"> // 面試:a輸出多少?undefined / 4 var a = 3; function fn() { console.log(a); // undefined var a = 4; console.log(a); // 4 /* 函數實際執行的流程 var = a; console.log(a); a = 4; */ } fn(); console.log(b); // undefined --> 變數提升 var b = 5; /* 實際流程 var b; console.log(b); b = 5 */ fn2(); // 可以調用,輸出為fn2() --> 涵數提升 // fn3(); // 不可以調用 --> 變數提升 function fn2() { console.log('fn2()'); } var fn3 = function () { console.log('fn3()'); } </script>
文章標籤
全站熱搜