原生js中实现页面加载完成后,执行JS的5种方式的顺序

页面加载完成后执行js的5种方式
1,2本质上没啥区别,1是2的简写方式。都是document加载完后就执行
1:jQuery的 ( f u n c t i o n ( ) ) 2 : j Q u e r y 的 (function (){}) 2:jQuery的 (function())2jQuery(document).ready(function (){})
3:使用jQuery对象,4使用dom对象。都是等整个window加载完后就执行
3:jQuery的 ( w i n d o w ) . l o a d ( f u n c t i o n ( ) ) 4 : w i n d o w . o n l o a d = f u n c t i o n ( ) 在 标 签 上 绑 定 o n l o a d 事 件 。 等 待 b o d y 加 载 完 后 就 执 行 5 : < b o d y ο n l ο a d = " e x e c u t e A f t e r l o a d e d B o d y ( ) " > 重 点 : 第 3 , 4 种 必 须 等 到 页 面 内 包 括 图 片 的 所 有 元 素 加 载 完 毕 后 才 能 执 行 , 而 第 1 , 2 种 是 d o m 结 构 绘 制 完 毕 后 就 执 行 , 不 必 等 待 加 载 完 毕 。 w i n d o w . o n l o a d 不 能 同 时 编 写 多 个 , 如 果 有 也 只 会 执 行 一 个 , (window).load(function (){}) 4:window.onload = function (){} 在标签上绑定onload事件。等待body加载完后就执行 5:<body οnlοad="executeAfterloadedBody()"> 重点:第3,4种必须等到页面内包括图片的所有元素加载完毕后才能执行,而第1,2种是dom结构绘制完毕后就执行,不必等待加载完毕。 window.onload不能同时编写多个,如果有也只会执行一个, (window).load(function())4window.onload=function()onloadbody5<bodyοnlοad="executeAfterloadedBody()">3,41,2domwindow.onload(document).ready()则可以同时编写多个,并且都可以得到执行。
这5种方式,执行的先后顺序:
1, ( f u n c t i o n ( ) ) ; 和 2 , (function(){});和 2, (function());2,(document).ready(function(){}); 无论位置放置在哪里,总是优先其余三种方式(原因是:这两种方式是在document加载完成后就执行,后三种是等到整个window页面加载完成后才执行),这两者之间的执行顺序是谁在上方谁优先执行。
3,$(window).load(function(){});和4,window.onload = function(){} 这两种方式,总是优先于<body οnlοad=“executeAfterloadedBody()”>执行。他们两者执行顺序也是根据谁在上方谁先执行。
5,<body οnlοad=“executeAfterloadedBody()”>总是最后执行。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试页面加载完成后执行JS的5种方式的顺序</title>
</head>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script type='text/javascript'>
  window.onload = function () {
    console.log("window_html loaded====》onload");
  }

  $(window).load(function () {
    console.log("jquery===》window_html loaded");
  })

  $(document).ready(function () {
    console.log("jquery====》document loaded");
  });

  $(function () {
    console.log("jquery====》document onload");
  });

  function executeAfterloadedBody() {
    console.log("====》onload");
  }

</script>
<body οnlοad="executeAfterloadedBody()"></body>
</html>


结果:
在这里插入图片描述
大概意思: ( w i n d o w ) . l o a d ( f u n c t i o n ( ) ) 在 高 版 本 中 已 经 废 弃 , 请 用 : (window).load(function(){})在高版本中已经废弃, 请用: (window).load(function())(window).on(‘load’,function(){});替代修改后,重新允许:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值