js语言的执行顺序

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_28473733/article/details/83244638

加载规则:

      先定义:var function (从上往下)

     后执行:(从上往下)   

 

<script>
     //加载的规则,先定义 var function(从上往下),后执行,除了定义代码之外,都是执行代码(从上往下),简称变量提升
     //请按照顺序写出答案
     fn(); //3:调用 fn
     var  a={}; //1:定义 a; 4:将a指向{}的内存地址
     console.log(b); // 5: 因为在这之前,3-4步已经默认在全局定义并且赋值了,所以有值 =》2
     //根据3-1步,默认创建
     var b;
     function fn() { // 2: 定义 fn
         console.log(a);  //3-3: a=> undefined
         var  a= b=2;//3-1: 定义 b ,b未经过var的定义,则向全局变量查看有没有变量,如果没有呀,则在全局默认创建var b;  3-2:定义a=b; 3-4=》:a=b指向2的常量值的引用
         console.log(a);// 3-5: a => 2
     }
     console.log(a);// a =>  Object
 </script>

猜你喜欢

转载自blog.csdn.net/qq_28473733/article/details/83244638