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

Web 十五楼的鸟儿 484浏览 1评论

最近做插件遇到的问题,记录如下:

本文以实例形式说明了多个$(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()的执行顺序

游客
发表我的评论 换个身份
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. 访客
    路过
    沉冰浮水 游客 2年前 (2015-10-10)回复
您可以使用eMule或eMule Mod(Windows)、aMule(Win、Linux、Mac)等软件下载eD2k链接。。
eMule收藏集(.emulecollection)文件是您选中的所有链接的列表文件。eMule可以直接下载它们。
按住SHIFT键选择可以选中多个选择框。
可用文件名和大小选择器来选择文件。
文件名选择器帮您根据文件名称或后缀来选择文件。不分大小写。
符号使用:
和:空格( )、+
不包含:-
或:|
转义:一对英文引号("");
匹配开头:^
匹配结尾:$
例如:
选中所有名称中包含有“eMule”或“0.49c”字眼,但不包含有“exe”字眼的:emule|0.49c -exe
选中所有名称的开头是“eMule”,结尾是“0.49c”的:^emule 0.49c$
选中所有名称中带有“eMule 0.49c”的(必须是“eMule 0.49c”,中间没有别的字符,不能是“eMule fake 0.49c”),需要转义:"emule 0.49c"
大小选择器帮您根据文件大小选择文件。

等待大佬打赏中~