美文网首页
多个$(document).ready()的执行顺序问题

多个$(document).ready()的执行顺序问题

作者: goldfather | 来源:发表于2018-12-14 15:00 被阅读0次

    本文以实例形式说明了多个$(document).ready()的执行顺序问题,由实例可以看出多个$(document).ready()的执行顺序并非单纯的顺序执行,其与嵌套层级也有一定的关系。具体实例代码如下:

    <html>
    <head>
    <script src="./jquery-1.9.0.min.js"></script>
    <script type="text/javascript">
      $(function(){
        alert('1');
        $(function(){
          alert('2');
          $(function(){
            alert('3');
          });
        });
    
      });
    </script>
    <body>
    TTTTTTTTTTTT
    <script type="text/javascript">
      $(document).ready(function() {
        alert('4');
        $(function(){
          alert('5');
        });
    
      });
    </script>
    KKKKKKKKKKKK
    <script type="text/javascript">
      $(function(){
        alert('6');
        $(document).ready(function() {
          alert('7');
        });
    
      });
    </script>
    </body>
    </html>
    

    运行alert显示顺序为:1,4,6,2,5,7,3
    读者可以自己测试体验一下,以加深对多个$(document).ready()执行顺序的理解。

    有兴趣还可以在控制台里试试这堆:

    var 队列 = [];
    function 队列添加(函数) {
      队列.push(函数);
    }
    function 执行队列() {
      while (函数 = 队列.shift()) {
        函数();
      }
    }
    队列添加(function () {
      console.log('1');
      队列添加(function () {
        console.log('2');
        队列添加(function () {
          console.log('3');
        });
      });
    });
    队列添加(function () {
      console.log('4');
      队列添加(function () {
        console.log('5');
      });
    });
    队列添加(function () {
      console.log('6');
      队列添加(function () {
        console.log('7');
      });
    });
    

    执行队列();

    相关文章

      网友评论

          本文标题:多个$(document).ready()的执行顺序问题

          本文链接:https://www.haomeiwen.com/subject/ptdghqtx.html