-
HTML空元素共14个,是W3CHTML5标准明确定义的无内容、无闭合标签元素:area、base、br、col、embed、hr、img、input、link、meta、param、source、track、wbr。
-
能,但仅适用于纯数据对象;遇到Date、RegExp、Function、Map、Set、BigInt或循环引用会出错,undefined会被丢弃,NaN/Infinity转为null,Date变字符串,且不支持Symbol和原型链。
-
原生input和textarea无法直接实现标签输入,因其不支持多值管理、独立标签渲染与删除交互;需用JavaScript手动监听键盘事件、动态创建标签节点并同步hiddeninput值。
-
尾调用优化(TCO)是JavaScript引擎在严格模式下对满足特定条件的尾调用进行的栈帧复用优化,但主流引擎目前均未默认启用,代码符合语法仍会栈溢出,需手动转循环或用蹦床模式。
-
本文教你如何通过JavaScript为HTML5<audio>元素设置默认及上限音量,解决音量过大问题——关键在于同步设置audio.volume和音量滑块的初始值,并在setVolume()中添加安全约束。
-
深拷贝需递归复制所有层级并处理循环引用,JSON.parse(JSON.stringify())有类型限制,手写应使用WeakMap缓存,生产环境推荐Lodash的_.cloneDeep()。
-
JavaScript操作剪贴板主要使用异步的navigator.clipboardAPI,需在HTTPS/localhost安全上下文及用户手势(如click)中调用writeText()或readText(),旧版浏览器可降级使用document.execCommand('copy')。
-
最常见的play()报错是DOMException:Theelementhasnosupportedsources,因未加载有效音视频资源就调用;其次为Promise拒绝,因缺少用户手势触发;还有安卓WebView静默失败及WebAudio混用导致的音频异常。
-
答案:CSS中通过margin控制元素外间距,padding控制内间距,flex布局可用gap设置子元素间隔,并推荐使用box-sizing:border-box避免尺寸异常。
-
使用curl脚本测量本地服务器HTML/CSS加载时间,并通过Conky周期性显示。1.编写bash脚本调用curl获取time_total等指标;2.在~/.conkyrc中用${execi10~/scripts/load_time.sh}每10秒执行;3.可分离监控HTML与CSS文件耗时;4.脚本可添加条件判断优化输出,颜色控制建议置于Conky配置中。
-
使用:checked伪类结合兄弟选择器可实现无JS的交互效果,如内容展开、主题切换等。通过隐藏checkbox并利用~或+选择器控制后续兄弟元素的显示状态,常用于折叠面板、标签页切换等场景,关键在于HTML结构顺序与选择器的正确配合。
-
HTML5<video>标签需手动补全controls、preload="metadata"、poster属性,且MP4必须用H.264BaselineProfile和48kHzAAC编码;嵌第三方视频须用响应式iframe容器并添加allow属性。
-
内边距应遵循设计系统间距规范,优先使用12px、16px等规律值,分方向精细调整,配合border-box盒模型与DevTools实时验证,确保视觉节奏稳、准、匀。
-
首选CSS@keyframes实现轻量级动态背景,需用fixed定位全屏div并设z-index:-1;Canvas粒子用tsParticles库;SVG动画应内联并用<animateTransform>;须遵守减少运动、不遮文字、不阻塞首屏三大约束。
-
localStorage不能存敏感信息,仅适用于非敏感前端状态数据;使用setItem/getItem/removeItem操作字符串,对象需JSON序列化;存在XSS窃取、明文存储、无访问控制等安全风险。