1. 程式人生 > >變數宣告提升和預解析

變數宣告提升和預解析

 1 <!DOCTYPE html>
 2 <html>
 3 <head lang="en">
 4     <meta charset="UTF-8">
 5     <title></title>
 6 </head>
 7 <body>
 8 
 9 <script>
10     //預解析:js的解析器在頁面載入的時候,首先檢查頁面上的語法錯誤。把變數宣告提升起來。
11     //變數值提升變數名,不提升變數值。而用function直接定義的方法是整體提升。
12     //1.檢視語法錯誤。
13 //2.變數宣告提升和函式整體提升(變數宣告提升的時候,只提升變數名,不提升變數值) 14 //3.函式範圍內,照樣適用。 15 var aaa; 16 console.log(aaa); 17 aaa = 111; 18 fn(); 19 20 function fn(bbb){ 21 //變數宣告提升在函式內部照樣實用。 22 //函式的就近原則。 23 var aaa; 24 console.log(aaa); 25 aaa = 222; 26 } 27
28 function fn2(bbb){ 29 //兩個函式中的區域性變數不會相互影響。 30 console.log(bbb); 31 } 32 33 </script> 34 35 </body> 36 </html>