同一个页面中多个script标签中代码运行情况

情况①,函数声明提前,后面定义的f1覆盖了前面的f1,故执行到alert时输出6

 <script type="text/javascript">
          var a, b, c;
          function f1(b,c){
               a = b + c;
               return a;
          }
          alert(f1(2,3));
          function f1(b,c){
               a = b * c;
               return a;
          }
 </script>
//输出6

情况②,JS是按块加载的。每个<script/>标签作为一块。按顺序执行,在第一个代码块中,f1还没被覆盖,故执行时输出5,执行到第二个代码块,f1被重新定义,此时会alert时输出6

 <script type="text/javascript">
      var a, b, c;
      function f1(b,c){
           a = b + c;
           return a;
      }
      alert(f1(2,3));
 </script>
 <script type="text/javascript">    
      function f1(b,c){
           a = b * c;
           return a;
      }
 </script>
//输出5

本文链接:同一个页面中多个script标签中代码运行情况

| Comments