-
能,但仅对当前页面首屏必需且浏览器发现过晚的资源有效;需正确使用as属性并避免滥用,否则反拖慢性能。
-
transition不生效需先检查三件事:目标属性是否支持过渡、状态切换时属性值是否发生可插值变化、是否遗漏:hover等触发源。
-
要学,但仅限于文字环绕图片、旧项目维护、邮件模板等特定场景;现代布局应优先使用flex或grid,因其更健壮、易维护且无文档流问题。
-
关键在于重编译+分层并行设计+浏览器策略适配:需用Emscripten/Rust+WASI生成支持线程、共享内存和SIMD的Wasm模块,服务端配置COEP/COOP响应头,运行时按Worker级、pthread级、计算段三级调度,并通过共享内存+TypedArray视图实现零拷贝数据流。
-
pointer-events:none不生效的主因是父元素未生效或子元素显式设为auto覆盖;它使元素及后代不参与鼠标事件目标计算,但不影响键盘焦点与语义状态。
-
Proxy在前端埋点中可零侵入监控有状态对象,如状态管理实例、API客户端、表单数据、路由导航器;通过construct和get陷阱拦截实例化与方法调用,同步轻量打点,不改变行为完整性。
-
column-count无法卡住卡片高度,因其按内容流切分列且不感知子元素边界,导致卡片跨列断裂;需配合break-inside:avoid阻止断裂,但Safari15.4+才稳定支持,响应式切换易出空白,推荐改用Grid模拟伪瀑布流。
-
BEM修饰符是标记组件状态或变体的命名后缀,用双中划线--分隔(如button--disabled),因单中划线-专用于单词连接,双中划线--是规范唯一标识,避免语义混淆与层级冲突。
-
background-color不生效最常见原因是颜色值格式错误、background复合属性覆盖、内联元素盒模型限制及父容器overflow裁剪。
-
节流防的是高频事件导致的页面卡顿、重排频繁和CPU飙升;它通过限制回调函数固定间隔最多执行一次来优化性能,支持leading(首次立即执行)和trailing(结束补发)控制。
-
HTML数据沙箱是利用iframe的sandbox属性创建隔离环境的技术,用于安全执行不可信的HTML内容。1.通过设置sandbox属性可限制脚本执行、表单提交、弹窗等行为;2.常用指令包括allow-scripts、allow-same-origin、allow-forms等,无值时最安全;3.结合CSP策略能进一步防御XSS、CSRF攻击;4.用户输入需经净化处理,推荐使用DOMPurify库并结合BlobURL增强隔离性;5.核心原则是最小权限与始终假设内容不可信。
-
Chrome中font-smoothing无效是因-webkit-font-smoothing仅macOS有效,Windows/Linux下被静默忽略;应优先使用font-optical-sizing:auto等标准属性,而非依赖私有平滑控制。
-
纯前端每日签到可实现演示级功能:用东八区标准日期(getTodayString())比对localStorage中的lastSignInDate,点击按钮时校验是否当日首次签到,成功则更新签到次数与日期,失败给出存储异常提示;按钮通过data-signed属性与CSS联动实现视觉反馈,但需注意其不可防篡改,真实场景必须依赖后端校验。
-
<p>检测两元素是否“快对齐”需设定容忍阈值(如5px),拖拽中持续计算二者四边距离绝对值,如Math.abs(el1Rect.left-el2Rect.left)≤阈值即判定为对齐。</p>
-
Promise通过状态机和链式调用解决回调地狱,支持then/catch/finally链式操作,提供all、race等静态方法组合异步任务,并可实现并发控制,是现代JavaScript异步编程基础。