当前位置:主页 > 网页前端 > JavaScript代码 >

JavaScript与jQuery中文档就绪函数的区别

时间:2022-11-23 09:43:03 | 栏目:JavaScript代码 | 点击:

1、文档就绪函数

JavaScript 的文档就绪函数:

<script>
    window.onload = function() {
        alert("欢迎!")
    }
</script>

jQuery 中的文档就绪函数:

// 写法1
<script>
    $(document).ready(function() {
        alert("欢迎!")
    })
</script>

// 写法2
<script>
    $(function() {
        alert("欢迎!")
    })
</script>

执行以上的代码,我们可以得知,JavaScript 的window.onload=function(){// 执行代码} 和 jQuery 的文档就绪函数 $(document).ready(function(){// 执行函数}) 是等同的运行效果。但是二者也有不同,下面就对其区别与大家分享一下。

2、window.onload 与 $(document).ready()的区别

  window.onload $(document).ready()
执行时机 必须等网页中所有内容加载完后(包括图片)才能执行 网页中所有DOM结构绘制完后就执行
函数编写个数

不能编写多个,例如:

window.onload=function(){};

window.onload=function(){};

此时第二个覆盖第一个

能同时编写多个,例如:

$(document).ready(function(){});

$(document).ready(function(){});

两个函数都执行

简化写法 $()

对二者区别的简单说明如下:

先写一个JavaScript 程序,里面有 window.onload 注册事件,分别打印不同的数据

代码如下:

<script>
    window.onload = function() {
        alert("aa")
    };
    window.onload = function() {
        alert("bb")
    };
</script>

执行结果如下:

我们发现,代码执行后,首先弹出bb提示框,并未弹出 aa 提示框,说明 JavaScript 的 window.onload 不能编写多个函数,如果编写多个函数,后写的会覆盖前面的。

现在我们用jQuery编写同样的程序,代码如下:

<script>
    $(document).ready(function() {
        alert("aa")
    });
    $(document).ready(function() {
        alert("bb")
    });
</script>

执行结果如下:

根据执行结果可以看到,代码通过使用 jQuery 的文档就绪函数打印了两组数据,程序先打印了第一条数据 aa,接着又打印了第二条数据 bb,说明jQuery的文档就绪函数可以有多个。如果有多个文档就绪函数,那么执行顺序就是从第一条数据开始,逐条进行打印,不会像 window.onload 那样出现覆盖情况。
(3)简化写法属于语法规范。window.onload 没有简写形式;$(document).ready(function(){// 执行代码})的简写形式为$(function(){// 执行代码}),在开发中使用简写形式较多。

您可能感兴趣的文章:

相关文章