js作用域零碎的知识点,不同的script块,虽然同是全局变量

如下代码,第一次弹出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进行定义,所以代码出错,浏览器提示报错。

posted @ 2018-10-05 07:17  html55  阅读(857)  评论(0编辑  收藏  举报