我是靠谱客的博主 整齐鼠标,最近开发中收集的这篇文章主要介绍JS进阶5 -- 事件循环及JQuery的load与ready的区别5-事件循环及JQuery的load与ready的区别,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
JS进阶5 -- 事件循环及JQuery的load与ready的区别
- 5-事件循环及JQuery的load与ready的区别
- 5-1 事件循环
- 5-1-1 宏观任务
- 5-1-2 微观任务
- 5-2 $(window).load 与 $(window).ready 的区别
- 5-2-1 相同点
- 5-2-2 区别
- 5-2-3 加载顺序
在 JS进阶4 – 代理中我们学习了代理的使用方法和优点分析,本文将继续重点跟大家介绍JS中的第5个重点内容 – 事件循环及JQuery的load与ready的区别。废话不多说,一起来看看吧!
5-事件循环及JQuery的load与ready的区别
5-1 事件循环
- JS是事件驱动程序,因此最底层都是以事件驱动完成函数的回调执行,例如当有触发某个事件的启动因素时,就会抛出事件,调用回调函数,但是这个过程并不是函数可以自己去回调,而是抛出事件后,将在任务队列中等待下一个执行时间立即调用函数。
- 即使在同一个任务队列中也有先后执行的顺序,主要分为宏观任务和微观任务
5-1-1 宏观任务
- 宏观任务是在当前任务队列的尾部抛出事件,等待下一次任务队列执行时间开始的时候执行
- setInterval、setTimeout
5-1-2 微观任务
- 微观任务一般是在当前任务的尾部抛出事件,下一次任务队列执行时间之前执行
- process.nextTick、Promise
var time = new Date().getTime();
console.log('a'); // 同步任务
setTimeout(function() {
console.log(new Date().getTime() - time); // 宏任务与微任务相比,执行时间更长
console.log('b'); // 异步任务--宏任务
}, 0);
new Promise(function(res, rej) {
res();
}).then(function() {
console.log(new Date().getTime() - time);
console.log('c'); // 异步任务--微任务
});
console.log('d'); // 同步任务 // a d c b
5-2 $(window).load 与 $(window).ready 的区别
5-2-1 相同点
- 这两个方法都是先加载后执行,但是有先后顺序,ready先执行,load后执行
5-2-2 区别
- ready在图片媒体进来之前就可以运行代码了,而load需要等待全部完成后才可以执行代码
5-2-3 加载顺序
- html结构
- 加载外部样式表和执行文件
- 解析执行脚本代码
- 构造DOM模型(样式应用)-- ready执行
- 加载图片文件等等
- 页面加载完毕 – load执行
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>$(window).load 与 $(window).ready 的区别</title>
</head>
<body>
<img src="./images/avater.jpg" alt="">
<img src="./images/cat1.jpeg" alt="">
<img src="./images/cat2.jpeg" alt="">
<img src="./images/cat3.jpeg" alt="">
<script src="jquery-3.5.1.min.js"></script>
<script>
// 先输出ready,再输出load
$(window).on("load", function() {
console.log('load');
});
$(window).ready(function() {
console.log('ready');
});
</script>
</body>
</html>
最后
以上就是整齐鼠标为你收集整理的JS进阶5 -- 事件循环及JQuery的load与ready的区别5-事件循环及JQuery的load与ready的区别的全部内容,希望文章能够帮你解决JS进阶5 -- 事件循环及JQuery的load与ready的区别5-事件循环及JQuery的load与ready的区别所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复