-
setTimeout函数用于延迟执行代码一次,它返回一个定时器ID,允许通过clearTimeout取消任务。其与setInterval的区别在于:1.setTimeout是一次性执行,setInterval是周期性重复执行;2.clearTimeout用于取消setTimeout,clearInterval用于停止setInterval。延迟时间并非精确,而是最小延迟,实际执行受主线程阻塞和浏览器优化影响。掌握这些特性有助于避免副作用、提升用户体验和编写健壮的异步代码。
-
可使用五种方式打开HTML文件:一、浏览器右键打开;二、地址栏输入file://路径;三、VSCode配LiveServer实时预览;四、命令行启Python本地服务器;五、移动设备通过文件管理器分享至浏览器。
-
使用Flexbox或Grid创建响应式卡片布局,核心是通过flex-wrap、grid-template-columns配合minmax和gap实现自适应换行与间距,结合媒体查询优化不同屏幕体验,使卡片在不同设备上均能良好展示。
-
本文介绍如何通过HTML输入控件获取用户指定的初始日期和时间,并使用JavaScript实现秒级或分钟级的动态更新,同时避免setInterval多次触发导致的时间错乱问题。
-
断点续传核心是分片上传加服务端校验;前端用File.slice()分片并携带唯一identifier(文件名+最后修改时间+序号)标识每片,上传前先查询服务端已存分片索引,仅重传失败分片,服务端需幂等接收、校验完整性、合并并持久化identifier映射关系。
-
Set和Map是ES6专为去重/存在性判断与灵活键值映射设计的原生集合类型;Set自动去重、O(1)查询、支持集合运算;Map支持任意类型键、保持插入顺序、无原型污染,语义清晰且性能更优。
-
本文介绍如何通过监听鼠标点击事件获取坐标,将弹出框精准定位在图像映射(imagemap)热点区域的右下方,避免遮挡原图,提升交互体验。
-
伪元素选择器用于创建虚拟元素以增强页面视觉效果,如::before和::after通过content插入内容,实现引号、气泡框等装饰;::first-letter和::first-line分别设置首字母下沉和首行样式,提升排版美感;::selection自定义选中文本的高亮样式。这些伪元素不生成实际DOM节点,但能优化结构、减少冗余标签,需注意仅部分属性可用且应关注浏览器兼容性。
-
let和const的核心区别在于能否重新赋值:const禁止重新赋值但允许修改对象内部属性,二者均有块级作用域;var无块级作用域且存在变量提升。
-
移动端弹窗被截断主因是viewport设置错误、fixed弹窗未用max-height动态约束、box-sizing未设为border-box及尺寸单位使用不当;应配置正确viewport、用max-height:80dvh+overflow-y:auto、全局box-sizing:border-box,并结合媒体查询兜底。
-
box-sizing:border-box未生效最常见原因是选择器权重不足或被更高优先级规则覆盖,如框架样式中含!important;height计算不准常因父容器无高度导致百分比失效,或受flex/grid、transform等影响;需用offsetHeight获取真实总高,注意SSR和隐藏元素限制。
-
Promise链式调用通过.then()串联异步操作并统一.catch()错误处理,async/await则以同步语法简化异步流程,支持自然条件分支和try/catch错误捕获,二者互补使用。
-
将HTML5文件保存为.html格式并双击用浏览器打开可直接预览;2.使用代码编辑器如VSCode配合LiveServer插件实现自动刷新预览;3.对于涉及JS请求等复杂功能,需通过Node.js安装http-server搭建本地服务器,在http://localhost:8080访问以避免跨域问题。
-
TypeScript因静态类型系统提升大型项目可维护性与协作效率,支持渐进迁移并兼容JavaScript生态,结合现代开发工具增强代码可读性,降低重构风险,统一团队规范,尤其适配复杂架构与主流框架,长期收益显著。
-
剩余参数(...)用于函数形参末尾收集多余实参并生成真数组,扩展运算符(...)用于调用、赋值等场景展开可迭代对象;二者写法相同但位置与作用相反,混用将报错。