-
max-width是宽度上限(天花板),min-width是宽度下限(地板);二者共同为auto宽度划定安全区间,可共存实现弹性约束。
-
不能。CSS.supports()是JavaScriptAPI,必须在JS执行环境中调用,无法在JS运行前使用,因其依赖JS引擎初始化、全局对象就绪及DOM解析完成;应改用CSS的@supports规则实现早期能力检测。
-
直接写background-color:#f0f0f0会导致主题切换困难、深色模式不响应、组件复用性差,因该属性不支持条件逻辑,必须用CSS变量(如--placeholder-bg)配合@media(prefers-color-scheme:dark)实现自动适配。
-
JavaScript国际化依赖Intl对象进行数字、日期、货币等格式化,不处理文本翻译;需结合ICU消息格式资源包、语言检测与动态切换逻辑实现完整本地化。
-
Lighthouse评分与真实HTML性能感受不一致,因其基于静态分析和模拟加载判断,用HTML体积、内联资源、阻塞脚本等代理指标替代真实渲染速度;实际首屏体验更取决于TTFB、CDN缓存、服务端渲染效率及未标记async的脚本执行。
-
结论:index.html本身不处理404,真正决定是否返回404的是服务器或托管平台对请求路径的匹配逻辑;SPA需通过fallback配置(如Nginx的try_files、Netlify的200重写)将未命中请求交由index.html处理,使前端路由接管,且必须排除API等真实接口路径。
-
原型是函数的属性,原型链是对象查找属性的路径。每个函数有prototype对象,实例通过__proto__指向它,访问属性时若自身没有则沿原型链向上查找,直至null。
-
类方法没有prototype属性,因为它们是赋值给构造函数prototype对象的普通函数,设计目的为实例方法调用而非构造器,故JavaScript引擎不自动为其添加prototype属性。
-
mark是唯一语义正确、可访问且被搜索引擎识别的高亮方式;直接innerHTML.replace()会导致XSS、DOM损坏及结构错乱;安全做法须用TreeWalker遍历文本节点,结合escapeHtml、matchAll和range.surroundContents()实现。
-
批量删除需确保状态同步、DOM精准更新与请求聚合:用querySelectorAll(':checked')获取真实选中项,单次fetch发送ID数组,逐行remove()而非重渲染,并清空勾选状态。
-
最灵活可维护的全局色调切换方式是用CSS自定义属性定义HSL各分量(如--hue、--saturation、--lightness),再统一以hsl(var(--hue),var(--saturation),var(--lightness))声明颜色;HSL支持独立调节色相且不破坏明暗关系,避免硬编码值或冗余色板,便于响应式与主题演进。
-
按钮组尺寸修饰符不应加在.btn-group上,而应作用于.btn自身;.btn-group仅负责布局,尺寸控制须由.btn--lg、.btn--sm等独立修饰符显式定义,并避免父级覆盖、单位混乱与命名失控。
-
console.assert仅在第一个参数为false时输出信息,需确保开发者工具控制台开启且未过滤assert日志,生产环境可能被构建工具移除;支持多参数格式化但不中断执行,非错误处理机制。
-
currentColor方案最轻量兼容性好,但仅适用于内联SVG;因img引入的SVG处于隔离上下文,无法继承父级color值,故必须内联或改用CSS变量等替代方案。
-
模板字符串是JavaScript原生字符串类型,用反引号`包裹,支持变量插值${}和多行;${}内仅限表达式,不可写语句;嵌套需保持反引号;变量须在当前作用域存在,否则静默为undefined。