js中onload和jQuery中ready的区别

本文对比了window.onload与$(document).ready()的区别:1. 执行时机不同,前者需待页面所有元素包括图片加载完毕,后者DOM结构绘制完毕即可;2. 编写个数不同,前者仅能执行一个,后者可编写多个且均会执行;3. 简写形式不同,前者无简写,后者简写为$(function(){}

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、执行时间不同

  • window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行。
  • $(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。

js代码

    var img = new Image();
    img.src = "./浅拷贝.png";
    document.body.appendChild(img);
    console.log(img.width +' ,'+ img.height);

此时控制台输出如下图(IE浏览器上如下图 。而在火狐, edge上就是加载完成,不知道为什么??)
这里写图片描述
说明img的图像资源还没加载进html中。

当js代码如下时

    var img = new Image();
    img.src = "./浅拷贝.png";
    document.body.appendChild(img);
    img.onload = function(){
        console.log(img.width +' ,'+ img.height);
    }

此时控制台如下如
这里写图片描述
此时说明img资源加载完毕。

通过上述代码论断。可知onload函数是必须等到页面内包括图片的所有元素加载完毕后才能执行。

2、编写个数不同

  • window.onload只能执行一个,当你写多个window.onload函数时,只执行最后一个。
  • $(document).ready()可以同时编写多个,并且都可以得到执行

3、简写形式
- window.onload函数没有简写形式
- $(document).ready()函数的简写形式为$(function(){})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值