-
font-weight控制粗细,常用normal(400)和bold(700),支持100-900多级字重;font-style设置斜体,优先用italic,无斜体时可选oblique;font-variant用于小型大写,推荐使用font-variant-caps:small-caps以获得更好效果。
-
浅拷贝只复制第一层属性,嵌套引用值共享内存;深拷贝递归复制所有层级,完全独立。常见浅拷贝方法有展开运算符、Object.assign()、slice()/concat();JSON深拷贝有缺陷,手写需处理循环引用,生产推荐Lodash或structuredClone()。
-
CDN结合边缘计算可显著提升JavaScript加载效率。通过全球节点缓存静态资源,利用版本化文件名和合理缓存头实现高效静态分发;边缘函数则支持动态判断回源、按用户特征返回定制JS,增强缓存智能性;最佳实践中,重写请求路径映射最新版本、分离第三方与自有脚本、监控命中率与延迟,持续优化性能。细节如缓存层级与失效机制决定实际效果。
-
Node.js高效架构需从模块化、中间件、异步处理与性能优化入手:1.采用分层架构,分离路由、控制器、服务与数据访问层,提升可维护性;2.利用中间件处理认证、日志等通用逻辑,确保顺序合理并避免阻塞;3.使用async/await优化异步流程,控制并发防止资源耗尽;4.通过PM2集群、gzip压缩、数据库索引及APM工具实现性能监控与调优;5.架构应随业务演进,保持代码清晰与系统可观测性。
-
使用position:sticky实现导航栏吸顶时,必须设置top值并确保其有可滚动的后续内容;父容器的overflow:hidden通常不是根本原因。
-
HTML5不支持RTSP协议,必须通过服务端转协议(如HLS、WebRTC、WebSocket+MSE),且页面须运行在HTTPS或localhost安全上下文中;所有资源(.m3u8、.ts、wss)均需HTTPS/WSS,CORS与证书链配置也必须合规。
-
变量提升是JavaScript中var声明被提升并初始化为undefined,而let/const声明虽被提升但不初始化,访问会触发ReferenceError,该区域称暂时性死区(TDZ)。
-
浮动元素无法通过z-index改变层级,因其未创建层叠上下文且z-index仅对定位元素有效。需同时设置position为relative、absolute等非static值才能使z-index生效。例如添加position:relative后,z-index即可正确控制层叠顺序。需注意父容器若创建了层叠上下文(如设置opacity),仍会影响子元素的最终显示层级。
-
this的指向由函数调用方式决定:1.全局环境中指向全局对象(非严格模式)或undefined(严格模式函数中);2.作为对象方法调用时指向该对象;3.构造函数中指向新创建的实例;4.call、apply、bind可显式绑定this;5.箭头函数无自身this,继承外层作用域;6.事件处理函数中通常指向触发事件的DOM元素。
-
答案:JavaScript实现剪贴板复制有三种主要方式。1.使用已废弃但兼容性好的document.execCommand("copy"),需创建临时文本元素并触发用户事件;2.推荐使用现代ClipboardAPI的navigator.clipboard.writeText(),更安全高效,支持异步操作但需HTTPS环境和用户手势触发;3.通过判断浏览器支持情况自动降级,优先使用API,不支持时回退到传统方法。实际应用中应根据项目需求选择方案,新项目用API,旧浏览器用兼容方案,并提供复制成功提示以提升体
-
Symbol.species用于指定派生对象的构造函数,控制继承方法返回的实例类型。通过在子类中定义staticget[Symbol.species](),可决定如map、slice等方法返回父类或子类实例,常用于Array、Promise等内置对象的子类定制,确保返回类型符合预期,提升继承行为的可控性与性能。
-
内存泄漏指程序未释放不再使用的内存,导致内存占用持续增长、性能下降甚至崩溃。可通过任务管理器观察内存增长、使用Valgrind、AddressSanitizer、VisualStudio工具或Java堆分析工具检测。解决方法包括采用RAII、智能指针、避免循环引用、及时释放资源及定期代码审查。
-
使用animation-play-state属性可控制CSS动画暂停,其值为running或paused,默认为running;通过JavaScript切换添加paused类或利用:hover伪类,即可实现动画的暂停与恢复,无需重设关键帧或动画时间。
-
移动端CSS动画不触发或卡顿主因是浏览器降级渲染:禁用非transform/opacity属性动画、裁剪合成层、隐藏状态跳帧等;raf在微信iOS版存在后台切回后失效bug;Canvas需适配DPR;SVGSMIL动画iOS已移除。
-
Tailwind受欢迎是因为它精准匹配前端开发节奏与协作现实:样式内联HTML、响应式前缀化、无命名冲突、删除页面即删样式、主题切换便捷、不强制UI但提供灵活原子类。