美文网首页
多个$(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