變數宣告提升和預解析
阿新 • • 發佈:2019-01-10
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 } 2728 function fn2(bbb){ 29 //兩個函式中的區域性變數不會相互影響。 30 console.log(bbb); 31 } 32 33 </script> 34 35 </body> 36 </html>