分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

js定时器优化

发布时间:2023-09-06 02:28责任编辑:顾先生关键词:js定时器

先看以下两看计时器

setInterval
function sleep(time) { ?let startTime = window.performance.now(); ?while (window.performance.now() - startTime < time) {}}function test(){ ???count++; ???console.log(`第${count}次开始 ${getTime.now() - startTime}`); ????// 显示开始时间 ???//sleep(100); // 程序滞留500ms ???console.log(`第${count}次结束 ${getTime.now() - startTime}`); // 显示结束时间 ???count>1000 && clearInterval(t);}let count = 0;let getTime = window.performance;let startTime = getTime.now();var t = setInterval(test , 500); // 300ms间隔

最后结果:

再来看下setTimeout

function sleep(time) { ?let startTime = window.performance.now(); ?while (window.performance.now() - startTime < time) {}}function test(){ ?console.log(`第${count}次开始 ${getTime.now() - startTime}`); // 显示开始时间 ?//sleep(500); // 程序滞留500ms ?console.log(`第${count}次结束 ${getTime.now() - startTime}`); // 显示结束时间 ?count += 1; ?if(count<1000){setTimeout(test,500);}}var startTime0 = new Date().getTime();let count = 0;let getTime = window.performance;let startTime = getTime.now();var t;//setTimeout(test,500); // 300ms间隔setTimeout(function () { ?console.log(`第${count}次开始 ${getTime.now() - startTime}`); // 显示开始时间 ?//sleep(500); // 程序滞留500ms ?console.log(`第${count}次结束 ${getTime.now() - startTime}`); // 显示结束时间 ?count += 1; ?var offset = new Date().getTime() - (startTime0 + count * 500); ???var nextTime = 500 - offset;//console.log(nextTime); ???if (nextTime < 0) nextTime = 0; ???if(count<200){setTimeout(arguments.callee, nextTime);} ???????????????????}, 500)

js定时器优化

原文地址:https://www.cnblogs.com/7qin/p/10225220.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved