JavaScript 代码执行计时器 - 测量函数运行耗时
输入函数调用,使用 console.time 或 performance.now 精确测量代码块执行时间。
UD5工具箱
| 时间 | 任务名称 | 耗时 | 剩余时间 | 状态 |
|---|---|---|---|---|
| 暂无日志,添加任务开始观察 | ||||
requestIdleCallback 是浏览器提供的一个API,允许开发者在浏览器空闲时段执行低优先级的后台任务。它的核心价值在于:让非关键任务为主线程的关键渲染工作让路,从而提升用户体验。
典型使用场景包括:数据上报、预加载资源、日志写入、分析计算、缓存清理等不需要立即完成的工作。
回调函数会收到一个 IdleDeadline 对象,提供 timeRemaining() 方法(返回当前空闲时段剩余毫秒数)和 didTimeout 属性。
deadline.timeRemaining():返回当前空闲时段还剩余多少毫秒。开发者应在此时间内完成工作。通常初始值约50ms,但可能更少。如果时间快用完,应将任务暂停并重新调度。
deadline.didTimeout:布尔值。如果因为设置了 timeout 且超时触发而强制执行回调,则为 true。此时即使 timeRemaining() 为0也应执行任务,以保证任务不会无限期延迟。
最佳实践:先检查 didTimeout,如果为true则必须执行;否则根据 timeRemaining() 决定执行多少工作。
支持情况:Chrome 47+、Edge 79+、Firefox 55+、Opera 34+、Android Chrome 47+。Safari 目前不支持(截至2024年)。
降级方案(Polyfill):
window.requestIdleCallback = window.requestIdleCallback || function(cb, options) {
var start = Date.now();
return setTimeout(function() {
cb({
didTimeout: false,
timeRemaining: function() { return Math.max(0, 50 - (Date.now() - start)); }
});
}, options && options.timeout ? options.timeout : 1);
};
降级到 setTimeout 虽然失去了真正的空闲感知能力,但能保证代码不报错。
timeRemaining() 允许的工作量。适合低优先级、可延迟、非UI相关的任务:
输入函数调用,使用 console.time 或 performance.now 精确测量代码块执行时间。
上传字体文件(或使用系统字体),输入需要保留的字符集,生成只含这些字的精简字体。
自定义高强度、休息和循环次数,语音播报每个阶段开始结束。
连接当前页面的IndexedDB数据库,浏览对象仓库与索引,运行简单的过滤与查询。
连接当前域下的IndexedDB数据库,浏览表和数据,支持简单的增删改查。
将JSON数据转换为TOML格式,保留注释风格,输出更符合人类阅读习惯的配置文件。
手动或借助浏览器扩展统计在各网站的耗时,设定红线上瘾提醒。
设置亮色和暗色主题色,一键生成利用CSS变量和localStorage实现的暗黑切换代码。
方便地查看、编辑、删除和添加当前页面的Cookie,带导入导出。
以表格形式查看当前页所有Cookie,可修改值、有效期、属性或删除。
通过CSV或手动输入源、目标、数值,生成展示流向和占比的桑基图。
输入正则表达式,分析并提示可简化的部分,如去除多余括号或量词。
显示含有不同升降号数目的调号,快速点击对应的大调和小调名称。
粘贴技术文档,提取所有首字母大写的短语并生成带定义的简易术语表。
设定轮换间隔,到点发声提醒切换角色,确保结对编程公平有效。
上传.mid文件,将里面的音符事件(时间、音高、力度)提取为CSV表格。
输入准备添加的厨余与干料比例,估算C/N比,并记录翻堆日期与温度。
上传绿幕视频和新背景图,实时抠像合成预览并可选录制成WebM。
记录每日练习乐器时间、曲目及难点,统计累计时长与进度。
从表格数据构建决策树,逐步展示信息增益计算与分支选择,可导出树结构图。
将TOML配置文件格式快速转换为JSON,支持嵌套表、数组,方便与其他系统交互。
用放大的缩放圆环引导你吸气4秒、屏住7秒、吐气8秒,帮助平复情绪。
跟随动画节奏进行腹式呼吸,可选择4-7-8或箱式呼吸法,定时提醒深呼吸减压。
录制麦克风音频片段并循环播放,支持多轨叠加,模拟Loop效果器。
手动记录不同时间点的温度读数,自动生成时间-温度折线图。
自动拉伸直方图、平衡对比度和轻微锐化,快速改善普通照片的视觉效果。
在Canvas上手写数字,通过预训练的简单模型或k-NN演示实时预测数字标签。
输入空调匹数、能效级、设定温度与使用小时,估算每日/每月耗电量与成本。
带动画的圆圈缩放引导深呼吸节奏,自定义吸气时长、屏息和呼气循环。
按议程设定多个环节及耗时,大屏显示倒计时并到时鸣响,高效会议。