-
计算属性名仅是动态定义键名的语法糖,不直接控制微任务队列;真正实现依赖Promise、queueMicrotask()与Proxy/Reflect协同:用计算属性名注册钩子,Proxy拦截操作并调度微任务,Reflect保障语义正确,Promise支持优先级与错误恢复,同时需规避死循环、内存泄漏等陷阱。
-
transition-timing-function控制动画速度曲线,ease实现缓入缓出适合多数UI交互,默认值为cubic-bezier(0.25,0.1,0.25,1);linear保持匀速常用于旋转加载;cubic-bezier()可自定义曲线实现精细控制,如回弹效果,提升动效专业感。
-
nonce是CSP中授权内联脚本执行的一次性随机字符串,需服务端同步生成并严格匹配响应头script-src'nonce-xxx'与标签nonce="xxx"属性,否则静默失效。
-
navigator.deviceMemory返回近似分级值(如0.5、1、2、4、8GB),非精确内存容量,仅Chrome63+和Edge79+支持,Firefox/Safari不支持,HTTP下返回undefined,需结合hardwareConcurrency等信号综合判断并降级。
-
inputtype="date"跨浏览器兼容性差,需用YYYY-MM-DD格式赋值与校验,min/max/step行为不一致,应配合input/change事件及setCustomValidity()做JS层双重校验。
-
JavaScript异步编程以Promise为基础抽象,async/await是其语法糖;Promise封装状态(pending/fulfilled/rejected),支持链式调用与并发方法;async/await简化书写与错误处理,二者定位不同、协同使用。
-
SCSS支持+、-、*、/单位运算,但要求单位兼容;除法需括号避免解析错误;calc()中须用#{$var}插值;复杂逻辑应封装@function;结果精度默认5位小数,可用round()控制。
-
行内样式不一定覆盖外部CSS。因优先级受同一元素、同名属性及!important影响;其specificity为1000,高于class、id等,但遇外部!important、initial/unset值、CSS变量、媒体查询或JS动态修改时可能被反超。
-
<p>clamp()不支持在首尾参数中使用CSS变量,因其需静态长度值;正确做法是用calc()将变量作为比例因子乘到clamp()外部,如calc(var(--scale-base)*clamp(1rem,4vw,1.5rem))。</p>
-
根本原因是ShadowDOM样式隔离机制阻断外部CSS匹配,即使类名存在且Tailwind已生成对应规则,外部tailwind.css中的全局类(如.p-4)也无法穿透作用域生效;必须手动注入完整编译后的CSS到shadowRoot,且content配置需覆盖模板路径或safelist预声明动态类名。
-
直接引入第三方JS极危险,因其一旦被劫持或篡改,可窃取DOM数据、外发敏感信息、注入恶意脚本或绕过同源策略;必须叠加CSP(白名单防火墙)、SRI(哈希校验)和合理加载策略三重防护,缺一不可。
-
必须将Flash动画转为HTML5,可用四种方法:一、Swiffy转换简单SWF;二、CreateJS从Animate导出;三、Lottie+Bodymovin处理AE动画;四、手动用Canvas/SVG重写复杂逻辑。
-
结论:crossorigin="use-credentials"在script标签上无效,浏览器绝不发送Cookie;HTML规范强制script请求凭据模式为omit,该属性仅影响错误捕获和CORS检查,不改变凭证行为。
-
hover:rotate-180不生效主因是inline元素不支持transform,需设inline-block或block;旋转中心偏移应配合origin-*类;动画卡顿需加transition-transform和will-change-transform;动态控制应改用条件class而非仅hover。
-
text-overflow:ellipsis对面包屑无效,因其需单行块级元素且依赖white-space:nowrap与overflow:hidden;而面包屑由多个行内元素组成,浏览器无法确定省略位置。