当前位置: 首页 > news >正文

文化馆的网站怎么建设seo文章外包

文化馆的网站怎么建设,seo文章外包,网站推广产品,服装网站建设规划1. setInterval():周期性执行函数 setInterval() 会按照指定的时间间隔(毫秒)重复执行一个函数,直到被手动停止。 基本语法: const intervalId setInterval(callback, delay, [arg1, arg2, ...]);callback&#xff1a…

1. setInterval():周期性执行函数

setInterval() 会按照指定的时间间隔(毫秒)重复执行一个函数,直到被手动停止。

基本语法:
const intervalId = setInterval(callback, delay, [arg1, arg2, ...]);
  • callback:要执行的函数。
  • delay:每次执行的间隔时间(毫秒)。
  • arg1, arg2, ...:可选参数,传递给 callback 的参数。
示例:每秒更新时钟
function updateClock() {const now = new Date();console.log(now.toLocaleTimeString());
}// 每1000毫秒(1秒)执行一次
const intervalId = setInterval(updateClock, 1000);// 5秒后停止
setTimeout(() => {clearInterval(intervalId); // 清除定时器
}, 5000);

2. setTimeout():延迟执行函数

setTimeout() 会在指定的延迟时间(毫秒)后执行一次函数。

基本语法:
const timeoutId = setTimeout(callback, delay, [arg1, arg2, ...]);

参数含义与 setInterval() 相同。

示例:延迟提示
function showMessage() {alert('3秒后显示此消息');
}// 3000毫秒(3秒)后执行
setTimeout(showMessage, 3000);

3. 清除定时器

为避免内存泄漏或不必要的执行,需要在适当的时候清除定时器:

清除 setInterval()
const intervalId = setInterval(() => { /* 代码 */ }, 1000);
clearInterval(intervalId); // 停止循环执行
清除 setTimeout()
const timeoutId = setTimeout(() => { /* 代码 */ }, 1000);
clearTimeout(timeoutId); // 取消延迟执行

4. 应用场景

(1)轮询数据

定期从服务器获取更新:

function fetchData() {fetch('/api/data').then(response => response.json()).then(data => console.log(data));
}// 每5秒请求一次
setInterval(fetchData, 5000);
(2)实现动画效果

通过微小间隔更新元素样式:

const element = document.getElementById('box');
let position = 0;function move() {position += 1;element.style.left = `${position}px`;
}// 每16毫秒(约60FPS)更新一次位置
setInterval(move, 16);
(3)延迟加载资源
// 页面加载后3秒加载广告脚本
setTimeout(() => {const script = document.createElement('script');script.src = 'ad.js';document.body.appendChild(script);
}, 3000);

5. 注意事项

(1)时间精度问题
  • JavaScript 是单线程的,定时器的执行时间可能会受到其他任务的影响,实际延迟可能比设定值长。
(2)闭包陷阱
  • 定时器中的回调函数会捕获外部变量,可能导致意外结果:
    for (var i = 0; i < 5; i++) {setTimeout(() => {console.log(i); // 输出5,5,5,5,5}, 1000);
    }// 使用let(块级作用域)或立即执行函数解决
    for (let i = 0; i < 5; i++) {setTimeout(() => {console.log(i); // 输出0,1,2,3,4}, 1000);
    }
    
(3)内存泄漏风险
  • 未清除的定时器会持续占用内存,特别是在单页应用(SPA)中切换页面时。

6. 替代方案

(1)requestAnimationFrame()

更适合高性能动画,由浏览器优化执行时机:

function animate() {// 更新动画requestAnimationFrame(animate); // 递归调用
}requestAnimationFrame(animate);
(2)Promise + setTimeout

实现可暂停、可链式调用的延迟:

function delay(ms) {return new Promise(resolve => setTimeout(resolve, ms));
}// 使用示例
async function fetchWithRetry() {try {const response = await fetch('/api/data');return response.json();} catch (error) {await delay(2000); // 等待2秒后重试return fetchWithRetry();}
}
http://www.dtcms.com/a/437883.html

相关文章:

  • mvc5 网站开发之美百度沈阳分公司地址在哪里
  • 针对餐饮公司推广做网站方法高端的网站设计多少钱
  • 网站开发不用框架阳春县建设局网站
  • 优秀的网站建设开发案例网站商品管理功能
  • 做网站是什么时候分页贸易网站开发
  • 汕头整站优化wordpress 时区问题
  • 一条龙做网站郑州哪里有做网站
  • 在线制作网站的平台重庆市工程建设招标投标交易信息网
  • 网站基本流程wordpress主题 dux1.8
  • 网站怎么做必须交钱吗贵阳网站建设是什么
  • 深圳罗湖网站建设公司网站关键词排名系统
  • 便宜自适应网站建设厂家贵阳有哪些做网站的公司
  • 专业网站建设公司怎么选网站域名攻击
  • 宜昌网站建设开发费用岳阳网站开发公司
  • 回龙观手机网站建设服务池州做网站
  • 网站制作苏州企业网站建设展示型是什么
  • 推荐10网站网站怎么更新文章
  • 搜索引擎网站推广法旅游网站建设和开发
  • 网站建站建设联系电话中核正式员工年收入
  • 北京市住房与城乡建设厅网站用dw做购票网站
  • 黄冈网站推广软件男科医院网站模板
  • 做磁力链网站如何快速搭建网站
  • 9377 这种网站怎么做网页设计简单作业成品
  • 视频类网站备案外包网
  • 无锡网站的优化不知道是谁做的网站 输入学号
  • 套模板网站网站在百度突然搜不到了
  • 网站怎么做淘宝客如何打开网页源代码
  • 摄影协会网站源码网站建设总体框架
  • 东莞网站优化案例wordpress媒体库上图
  • 培训网站开发wordpress4.6 nodejs