-
JavaScript垃圾回收由引擎自动执行,基于可达性判断对象是否存活;V8采用分代式GC(Young代用Scavenge,Old代用Mark-Sweep-Compact)与增量标记;DevTools的console.log会隐式持有对象引用阻碍回收。
-
答案是使用JavaScript控制CSS类或CSS变量切换主题,并结合localStorage持久化。通过定义:root变量或主题类,动态修改属性或class实现样式切换,页面加载时从localStorage读取并应用用户偏好,确保主题持久生效。
-
JavaScript实现基础年龄验证需用newDate()精确计算周岁,避免仅比年份;校验input.value非空且格式合法;提交前preventDefault并显示自定义弹窗;服务端必须复现相同逻辑校验。
-
防抖与节流机制不同:防抖是“停手后执行一次”,节流是“固定频率最多执行一次”;防抖需闭包保存timer、清除重设、正确传递this和参数,并支持immediate模式。
-
浮动元素按HTML顺序排列,左浮左起右排,右浮右起左排。通过margin可调整间距与微调位置,结合position:relative能精确定位,避免使用absolute以免脱离文档流。需用clear或BFC清除浮动影响,保持布局稳定。
-
用SassMixin实现按钮样式复用:将背景色、尺寸等可变参数设为mixin参数并带默认值,固化过渡、盒模型等不变逻辑;统一用&:hover等嵌套写法避免权重冲突;disabled状态需同时处理opacity、pointer-events和cursor;颜色通过CSS自定义属性解耦,高频变体用@extend减少冗余代码。
-
应明确声明所有变量并启用严格模式,避免隐式全局变量和作用域链动态扩展;优先使用const/let、ES模块、TypeScript及ESLint等工具,在编译和构建阶段拦截未声明变量问题。
-
卡片布局通过HTML结构与CSS样式实现,使用语义化标签构建内容,配合Flexbox排列和响应式设计,确保整洁、一致且适配多屏。
-
text-shadow无法触发transition,因color属性属离散类型,不支持插值动画;应改用background-clip:text+background-position过渡实现渐变文字效果。
-
CORS预检请求是浏览器在发送非简单跨域请求前自动发起的OPTIONS请求,用于确认服务器是否允许实际请求。当请求方法为PUT、DELETE等或包含自定义头(如X-Token)或Content-Type为application/json时触发。该请求携带Access-Control-Request-Method和Access-Control-Request-Headers头,服务端需响应Access-Control-Allow-Origin、Access-Control-Allow-Methods、Acc
-
需通过JavaScript发起HTTP请求获取外部API数据,具体包括:一、用fetchAPI发GET请求;二、用XMLHttpRequest手动请求;三、用JSONP跨域;四、用Axios库简化流程;五、配本地代理解决CORS。
-
transition-timing-function控制网页元素过渡的快慢节奏,常见类型有1.ease(默认值,先慢后快再慢)2.linear(匀速过渡)3.ease-in(开始慢逐渐加快)4.ease-out(开始快结束前减慢)5.ease-in-out(整体平滑,开头结尾放缓),例如button{transition:background-color0.3sease-in;}可实现按钮hover时慢慢变色,自定义曲线使用cubic-bezier()并通过在线工具调整参数,如cubic-bezier(0
-
CSS不生效主因是路径解析错误:file://协议下./指HTML所在目录,而http://服务器中./或/的基准取决于documentroot;应通过Network面板查404请求的实际URL,并统一用构建工具的base配置或相对路径确保一致性。
-
纯CSS闪电效果需用cubic-bezier或steps模拟炸裂感,时长60–120ms,叠加预闪与分叉伪元素,配合drop-shadow光效和GPU加速实现逼真残影与随机性。
-
Vue路由无法直接跳转外部链接,必须用原生方式:当前页用window.location.href,新标签页推荐window.open(url,'_blank','noopener,noreferrer'),模板中用标签并添加rel="noopenernoreferrer"。