View Code
 1 <html xmlns="http://www.w3.org/1999/xhtml">
 2 <head >
 3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 4     <title>JS之天下没有蠢问题</title>
 5     <script type="text/javascript">
 6         (function () {
 7             alert(1);
 8             var b = 1;
 9         })();
10       //alert(b);//b未定义,浏览器报错。
11         var a = function () { 
12             var aa = "aa";
13              alert(aa);
14         }
15      //alert(aa); //aa未定义,浏览器报错。
16     a();   
17     </script>
18 </head>
19 <body>
20 </body>
21 </html> 

 

 

贴上这段代码主要是介绍js的加载过程中js语句是否执行的问题。

说下我的理解,如有错误请指正。

当这个页面加载的过程中,程序已经执行了<script>标签内的代码,页面会弹出alert(1);同时给局部变量b赋值,但执行完成后b就会自动回收。alert(b);会提示b未定义。然后初始化一个对象a;但a对象内的aa并不创建,alert(2);也不会执行。对象外部的alert(aa);提示aa未定义;a();执行a函数,alert(2);执行同时创建aa=1。

posted on 2013-03-10 15:51  Giser-阿飞  阅读(174)  评论(0编辑  收藏  举报