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

Posted html55

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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进行定义,所以代码出错,浏览器提示报错。

以上是关于js作用域零碎的知识点,不同的script块,虽然同是全局变量的主要内容,如果未能解决你的问题,请参考以下文章

六,js学习零碎只是汇总

js面试题知识点全解(一作用域和闭包)

JS高级——作用域

js作用域相关知识总结

初步理解js作用域

Javascript基础知识小测试