
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。
浙公网安备 33010602011771号