探索jQuery的ready方法比原生js的window.onload快的奥秘

简介: 探索jQuery的ready方法比原生js的window.onload快的奥秘

节点树

一、ready() :页面DOM结构节点加载完成后触发(数据可能没有完全加载)
// ready的完整写法
$(document).ready(function(){...});
 // 简写方法1
$().ready(function(){...});
 // 简写方法2
$(function(){...});
二、load & onload :页面所有元素(包括图片数据等)加载完成后触发
window.onload = function(){...};
<body οnlοad="func1();func1();">...</body>

上面两种一样的,第一个是js写法,一个是嵌入html的写法。只能一次性定义。

$(window).load(function(){...});

jquery提供的load(),比onload方法灵活,可以多次定义并有先后次序。

三、window.onload = function(){…}与 $(function(){…})的对比
window.onload = function(){…} $(function(){…})
一个页面只能写一些onload = function(){…} 一个页面可以同时写多个$(document).ready(function(){…})
DOM节点和数据加载完之后执行代码块 加载完DOM节点即执行
四、测试用例
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../js/jquery-1.12.4.min.js"></script>
    <script>
        alert("hello01");
        window.onload = function(){
            let oDiv = document.getElementById("div01");
            alert("原生弹出的" + oDiv);
        }
        // jQuery的ready完整写法
        $(document).ready(function(){
            let $div = $("#div01");
            alert("jQuery 弹出" + $div);
        })
        $(function(){
            let $div01 = $("#div01");
            alert("简写jQuery" + $div01);
        })
        alert("hello02");
    </script>
</head>
<body>
    <div id="div01">这是一个div元素</div>
</body>
</html>

测试结果:

1、helllo 01
2、hello 02
3、jQuery 弹出[object Object]
4、简写jQuery[object Object]
5、原生弹出的[object HTMLDivElement]


相关文章
|
6天前
|
前端开发 JavaScript
前端 js 经典:Object 常用原生方法
前端 js 经典:Object 常用原生方法
11 2
|
6天前
|
前端开发 JavaScript
前端 js 经典:array 原生方法
前端 js 经典:array 原生方法
11 1
|
6天前
|
XML 前端开发 JavaScript
jQuery与javascript的区别+案例 锋芒毕露
jQuery与javascript的区别+案例 锋芒毕露
|
6天前
|
JavaScript 索引
jQuery 实现 图片框切换【与原生 JS 对比】
jQuery 实现 图片框切换【与原生 JS 对比】
|
7天前
|
监控 JavaScript 前端开发
超越原生:探索Node.js中最佳文件系统三方库
超越原生:探索Node.js中最佳文件系统三方库
|
8天前
|
JavaScript 前端开发 索引
JavaScript array 原生 reduce 方法的模拟实现
JavaScript array 原生 reduce 方法的模拟实现
10 2
|
8天前
|
JavaScript 计算机视觉
原生js通过年龄判断是否可以抽奖
原生js通过年龄判断是否可以抽奖
12 0
|
8天前
|
存储 JavaScript 前端开发
原生JS如何实现验证码
原生JS如何实现验证码
14 0
|
8天前
|
JavaScript 安全 前端开发
原生JS实现一键复制,一键粘贴
原生JS实现一键复制,一键粘贴
13 0
|
8天前
|
JavaScript 前端开发 C++
【Web 前端】JavaScript window.onload 事件和 jQuery ready 函数有何不同?
【5月更文挑战第2天】【Web 前端】JavaScript window.onload 事件和 jQuery ready 函数有何不同?