-
insertAdjacentHTML的四个参数按DOM结构定义:“beforebegin”插目标前同级,“afterbegin”插目标内首子,“beforeend”插目标内末子,“afterend”插目标后同级;不执行脚本、不触发事件,需手动处理。
-
AbortController本身不支持去重和熔断,需在外层封装逻辑层:用Map缓存pending请求实现去重,用计数器+时间窗口管理熔断状态。
-
服务端验证是数据安全的核心,JavaScript输入检查仅用于提升用户体验。前端检查可实时反馈、减少无效提交,但易被绕过;后端必须独立验证所有输入,确保字段、类型、长度、格式合法,并防范攻击。两者协同工作,前端提升交互流畅性,后端保障数据安全与业务规则一致性,任何客户端数据都应视为不可信。
-
JavaScript正则表达式可通过字面量(/pattern/flags)或构造函数(newRegExp('pattern','flags'))创建,常用标志有g、i、m、s;核心元字符如\d、\w、+、*、?及分组()、(?:…)、(?<name>…)提升匹配精度;高频操作包括验证、提取、替换、分割;需注意lastIndex状态、中文需u标志、避免用正则解析嵌套结构。
-
Canvas是唯一可行的底层方案,因其在实时协作、笔迹平滑性与性能压测下表现稳定;必须手动处理事件节流、坐标归一化、路径压缩和上下文重置以解决卡顿、断笔、偏移问题;需检查getContext('2d')是否返回null并fallback,避免静默失败;移动端须校验CSS缩放导致的坐标扭曲;必须同时监听鼠标与触控事件并阻止默认行为;擦除应使用'destination-out'合成模式而非画白色;导出时需适配跨域、Retina屏及透明背景。
-
是的。audio标签自HTML5起即为原生语义化元素,无需手动“HTML5化”,只要浏览器支持HTML5(如Chrome4+、Firefox3.6+等)即可直接使用;其失效主因是路径错误、MIME类型不匹配、file://协议限制、格式兼容性不足或缺少controls属性。
-
邮件链接用mailto:协议,需紧接合法邮箱且无空格;电话链接用tel:协议,国际号码须+开头E.164格式;协议名全小写,移动端有效,微信内置浏览器有限制。
-
JavaScript操作JSON仅用JSON.stringify()和JSON.parse();前者用于序列化纯数据结构(需避函数/Date/undefined/循环引用),后者解析前须确认输入为合法双引号JSON字符串,且推荐用Response.json()替代手动解析。
-
用CSStransform实现图片镜像需用scaleX(-1)或scaleY(-1),避免误用scale(-1);Canvas需负宽/高配合drawImage;SVG用scale(-1,1)并校正位置;移动端需手动换算触摸坐标。
-
Intl.Segmenter是现代JavaScript中专为语言感知文本分割设计的API,能按Unicode图符簇(如emoji、组合字符、CJK字)精准切割,避免split('')或Array.from(str)按UTF-16代码单元拆分导致的显示错乱;支持granularity:'grapheme'/'word'/'sentence'及多语言locale适配,Chrome80+等主流环境原生支持。
-
文件上传必须设置enctype="multipart/form-data",它是唯一支持二进制文件传输的编码类型;其他值如application/x-www-form-urlencoded或text/plain会导致文件内容损坏或丢失。
-
实现div显示隐藏的核心是通过JavaScript操作CSS样式,推荐使用classList.toggle()切换CSS类(如.hidden)来分离关注点,既简洁又易维护;也可直接修改style.display属性或使用jQuery的toggle()方法。除display外,visibility:hidden和opacity:0可保留布局空间,适合不同场景;动画效果可通过transition结合opacity、max-height等可动画属性实现,配合aria-hidden等属性确保可访问性。
-
SharedArrayBuffer+Atomics可实现多Worker零拷贝无锁原子通信,但需跨域隔离响应头、crossorigin加载、transferList传递、统一创建共享内存,并严格使用Atomics方法操作视图。
-
分代回收源于对真实堆快照的统计规律:98%的新对象活不过一次MinorGC;其核心是对象存活率分布,而非算法本身,JVM、V8、CPython均据此划分年轻区以提升回收效率。
-
绝大多数情况应选position:fixed——它脱离文档流、贴住视口边缘且滚动稳定;sticky依赖父容器高度和滚动上下文,易因height缺失或overflow:hidden失效。