<script>
        var a = 10;
      alert(window.a);
    </script>WINDOW对象能访问A,那请问A是保存在哪的呢?为什么可以作为WINDOW的一个属性访问呢?还是跟那个GLOBAL对象有关呢?
请指教!~~谢谢了~~

解决方案 »

  1.   

    先了解dom结构。
    window -->html->body->.....
      

  2.   


    其实我就是不明白,为什么声明一个变量会成为对象的属性呢??   <script>
        function mm1() {
            var a = 10;
        }
          alert(mm1.a);
        </script>上面这个会输出UNDEFINED,证明对象内声明的变量不能通过对象属性访问..
    但是WINDOW对象为什么可以呢?请指教!~谢谢~~
      

  3.   

    写在函数内部,那就成了私有变量了。所以
     function mm1() {
      var a = 10;
      }
    这个a,只能再函数内使用
      

  4.   

    楼上已经正解了。我再总结下。
    回答1.
    windows是全局对象.
    所有第一层的(没被嵌套在函数中的)  对象,函数,变量都是全局变量,生存期是本网页打开到关闭,直接在windows全局变量下。windows->本页html的dom
    回答2
    a是局部作用域,只有在mm1被调用时才被声明。 用完就回收了。 所以你在mm1外面alert一定是undefine