最轻量但易出错的方案是setinterval+date,需避免字符串eval、用textcontent替代innerhtml、监听页面加载、按需选择tolocaletimestring/tolocalestring、慎用requestanimationframe、显式指定时区、监听页面可见性清理定时器。

直接用 setInterval + Date 是最轻量、兼容性最好、也最容易出错的方案——关键不是“能不能跑”,而是“什么时候会不准”和“为什么页面卡住后时间跳变”。
用 setInterval 每秒更新,但别直接塞字符串
常见写法 setInterval("document.getElementById('clock').innerHTML = new Date().toLocaleString()", 1000) 看似简洁,实际有三个隐患:字符串 eval 风险、innerHTML 触发 HTML 解析(哪怕内容纯文本)、无法控制时区或格式细节。
- 改用函数式调用:
setInterval(updateClock, 1000),把逻辑封装在updateClock函数里 - 优先用
textContent而非innerHTML,避免 XSS 和解析开销 - 确保 DOM 元素已存在,脚本放在
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











