当前位置:首页 > JavaScript

js实现defer

2026-03-15 08:55:43JavaScript

在JavaScript中实现类似defer的功能,可以通过多种方式延迟代码执行。以下是几种常见的方法:

使用setTimeout延迟执行

通过setTimeout将函数放入事件队列,延迟指定时间后执行。若延迟时间为0,则会在当前任务完成后立即执行。

setTimeout(() => {
    console.log("这段代码会延迟执行");
}, 0);

使用Promiseasync/await

通过Promise.resolve().then()将代码放入微任务队列,在当前宏任务结束后执行。

Promise.resolve().then(() => {
    console.log("这段代码会在当前任务结束后执行");
});

使用requestIdleCallback

适用于需要在浏览器空闲时执行的代码,避免阻塞主线程。

requestIdleCallback(() => {
    console.log("这段代码会在浏览器空闲时执行");
});

使用事件监听

通过监听DOMContentLoadedload事件,确保代码在页面加载完成后执行。

document.addEventListener('DOMContentLoaded', () => {
    console.log("这段代码会在DOM加载完成后执行");
});

使用defer属性(仅限脚本标签)

在HTML中通过<script>标签的defer属性延迟脚本执行,直到DOM解析完成。

js实现defer

<script src="script.js" defer></script>

以上方法可根据具体需求选择,分别适用于不同的延迟执行场景。

标签: jsdefer
分享给朋友:

相关文章

js实现拷贝

js实现拷贝

实现文本拷贝 使用 document.execCommand 方法(已废弃但兼容性较好): function copyText(text) { const textarea = document…

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化W…

js实现vue路由

js实现vue路由

Vue 路由的基本实现 在 Vue.js 中实现路由功能通常使用 Vue Router 库。Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。 安装 Vue R…

js实现下拉菜单

js实现下拉菜单

使用HTML和CSS创建基础结构 HTML部分需要包含一个触发下拉的按钮和隐藏的下拉菜单内容: <div class="dropdown"> <button class="dr…

js 实现跳转

js 实现跳转

使用 window.location.href 进行跳转 通过修改 window.location.href 可以跳转到指定 URL,浏览器会加载新页面: window.location.hre…

js实现下拉刷新

js实现下拉刷新

监听触摸事件 通过监听 touchstart、touchmove 和 touchend 事件来检测用户下拉手势。记录触摸起始位置和移动距离。 let startY = 0; let curr…