-
斗鱼平台仅允许使用<b>、<i>、<u>、<s>、<sub>、<sup>等基础格式化标签,禁用所有脚本、嵌入式标签及CSS样式;弹幕中HTML会被转义为纯文本,公告栏可用<br>换行,推荐使用内置富文本工具实现加粗、斜体等效果。
-
CSS选择器应优先依赖HTML语义化标签、属性和伪类,而非class名;推荐深度≤3层的后代选择器,善用:is()、data-属性(限必要状态),避免过度嵌套与业务逻辑耦合。
-
JavaScript中==会触发隐式类型转换再比较,===则要求类型和值都严格一致;对象比较始终基于引用地址;开发中应默认使用===,仅在明确需要类型转换时用==。
-
箭头函数是JavaScript中语法简洁且无this/arguments/super/new.target绑定的函数,适合简短回调;但不可用作构造函数、对象方法或需动态this的场景。
-
crypto.randomUUID()是最简洁安全的UUID生成方案,符合RFC4122v4规范,仅限安全上下文且需现代浏览器或Node.js≥14.17.0;不支持时应分层降级,优先使用加密API。
-
scroll事件应优先用requestAnimationFrame节流(而非普通节流),因其对齐浏览器刷新节奏、自动暂停后台标签页;resize事件适合防抖,因只需响应最终尺寸;IntersectionObserver可替代手动scroll+getBoundingClientRect实现视口检测。
-
CSSModules生效需精准配置:Webpack中modules:true须限定于.module.css文件,Vite需确保未禁用css.modules,Next.js的app目录须在ClientComponent中导入,styles为undefined通常因loader未执行modules流程。
-
font-display是@font-face中控制字体加载期间文本显示行为的描述符,可避免FOIT白屏或优化FOUT体验;常用值包括swap(立即回退后替换)、fallback(短阻塞后回退)和optional(仅缓存命中时使用)。
-
通过内联onclick事件调用JavaScript代码,可实现在用户点击<div>时自动选中其全部文本内容,无需额外class或外部事件绑定;推荐使用独立函数封装逻辑,兼顾可读性与可维护性。
-
height:100%失效是因为父元素高度为auto,需html、body同时设height:100%;100vh虽便捷但受视口变化影响,嵌套或固定定位时易出错;推荐flex:1或配合min-height:0使用。
-
答案:基于JSON语言包和自定义I18n类实现前端国际化,通过data-i18n属性标记元素,支持动态加载与切换语言。
-
Tailwind默认不支持::first-letter,需在tailwind.config.js中通过addComponents手动注入规则;中文首字下沉需预处理HTML、指定带hinting的字体,并用clamp()实现响应式控制。
-
用canvas+getImageData手动改色是唯一靠谱方式,需逐像素按通道加权重做非线性映射,才能实现胶片特有的高光/阴影分离、青橙对比、颗粒感与褪色偏移。
-
Atomics.waitAsync必须在Worker中使用且需跨源隔离,因主线程禁用SharedArrayBuffer防御Spectre;验证需typeofSharedArrayBuffer和Atomics.waitAsync均为true;Worker中须先load再waitAsync,notify需匹配索引与时机,并建议双状态模式防丢失。
-
provide/inject在组合式API中直接于setup()内使用,支持响应式数据、Symbol命名、默认值及类型推导,适用于上下文状态传递而非业务字段,需避免响应式丢失、注入时机错乱和命名冲突。