-
HTML不是编程语言而是标记语言,核心是用语义化标签合理组织内容结构,需通过实操理解标签使用时机,而非死记语法;属性书写须规范,表单校验有边界,脚本加载策略影响DOM操作与性能。
-
backdrop-blur无效需先确认Tailwind≥3.1并在config中启用backdropBlur;侧边栏需半透明背景(如bg-white/10)、父容器无overflow:hidden,且背后有可模糊内容;iOS和微信需兼容处理。
-
ServiceWorker的message事件不支持直接回复,必须用MessageChannel实现双向通信:主线程创建通道并transferport2,SW通过event.ports[0]回复;不可用self.clients.matchAll()伪双向。
-
词法作用域在函数定义时就确定了,变量可访问性取决于代码书写位置而非调用位置;作用域链在函数创建时固化于[[Environment]]中,沿词法嵌套逐级向上查找,与调用栈无关。
-
SVG描边动画需用stroke-dasharray与stroke-dashoffset配合,先调用getTotalLength()获取路径精确长度,再通过CSS动画控制偏移实现“一笔一划”效果;getBBox()仅返回包围盒尺寸,不适用。
-
借用构造函数继承能避免引用类型属性共享,因为每次创建子类实例时都通过call/appl调用父类构造函数,为每个实例独立初始化属性;而原型链继承会使引用属性挂载在原型上被所有实例共享。
-
Vue3的setup中不可用$filters,因其是Vue2实例属性且全局过滤器已被弃用;推荐改用纯函数封装(如formatDate)、模块导出并在setup中直接导入使用。
-
IIFE是旧项目中零配置的作用域隔离手段,通过函数作用域切断变量声明、事件绑定、定时器等副作用外溢,确保不污染全局命名空间,所有声明默认私有,全局对象需显式传入。
-
给HTML表格添加富文本编辑功能的核心在于嵌入或动态加载富文本编辑器,而非依赖表格本身。实现步骤包括:1.设置表格单元格为contenteditable="true";2.引入富文本编辑器库如TinyMCE、CKEditor等;3.监听点击事件初始化编辑器实例;4.同步编辑内容回填至单元格;5.编辑完成后销毁或隐藏编辑器。选择编辑器时需考虑项目需求与团队能力:TinyMCE适合企业级应用;CKEditor适用于深度定制和协作编辑;Quill适合性能和自定义要求高的场景;ProseMirror/Slate.
-
用watchEffect实现视频播放自动存档,关键在于通过ref同步currentTime并在watchEffect中读取以触发依赖追踪,结合onInvalidate清理定时器、节流存档、AbortController中止旧请求、时间戳防竞态及isSaving/saveError状态反馈确保可靠性。
-
最直接的跳转方式是window.location.href,立即卸载当前页并加载新URL;标签更安全且语义化;window.location.replace()可避免返回记录;SPA中应使用框架路由API而非直接操作location。
-
join()方法用于将数组元素拼接为字符串,而非合并数组;合并数组应使用concat()或扩展运算符...,如[...arr1,...arr2]。
-
JavaScriptIntlAPI提供内置国际化支持,含DateTimeFormat和NumberFormat等接口,可自动适配多语言日期、时间、数字、货币格式,需注意语言标签准确性、浏览器兼容性及时区/货币显式配置。
-
align-items:flex-start未生效最常见的原因是父容器未设置display:flex或inline-flex;其次需检查flex-direction方向影响交叉轴、align-self冲突及替代方案。
-
JavaScript中Array.prototype.sort()实现多属性排序需在单个比较函数中按优先级逐级比较:先比部门升序(localeCompare),再比年龄降序(b-a),最后比姓名升序(localeCompare),避免多次sort调用覆盖结果。