1. 程式人生 > >js作用域零碎的知識點,不同的script塊,雖然同是全局變量

js作用域零碎的知識點,不同的script塊,雖然同是全局變量

undefine 不同的 hide isp ack 成了 nbsp 圖片 aps

如下代碼,第一次彈出a,因為解析器裏找到var a,賦予a變量undefined,彈出undefined

技術分享圖片
 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title>js作用域</title>
 6         <script type="text/javascript">
 7             alert(a); //第一次彈出a為undefined
 8             var
a = 3; 9 alert(a);//彈出3 10 </script> 11 </head> 12 <body> 13 </body> 14 </html>
View Code

現在給拆分到2個script塊裏

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title>js作用域</
title> 6 <script type="text/javascript"> 7 alert(a); //出錯,解析器找不到a變量 8 </script> 9 10 <script type="text/javascript"> 11 var a = 3; 12 alert(a);//彈出3 13 </script> 14 </head> 15 <body>
16 </body> 17 </html>

不同的script塊,雖然同是全局變量,但是上面的先解析,解析執行完成了再執行下面的,而上面的script中沒有對變量a進行定義,所以代碼出錯,瀏覽器提示報錯。

js作用域零碎的知識點,不同的script塊,雖然同是全局變量