-
纯HTML+JavaScript实现签到日历需手写渲染表格、用localStorage存"YYYY-MM-DD"格式打卡记录,动态计算当月首日星期与天数,标记并禁用已签/未来日期,兼容Safari需try/catch及ISO格式校验。
-
必须先检查window.getSelection().rangeCount===0,再操作Range;替换用deleteContents()+insertNode();加样式需防span嵌套;取消用replaceWith(...childNodes);监听selectionchange不可靠,应结合mouseup/touchend;Range需克隆与校验。
-
导航菜单问题多因HTML结构不合规或CSS优先级冲突所致,需严格遵循框架的类名层级、父容器要求及显隐控制方式。
-
Vue项目部署到二级目录需同步配置:VueRouter的base、vue.config.js的publicPath(Vite为base)、Nginx的alias与try_files,三者路径必须完全一致(如'/admin/'),否则导致资源404、白屏或刷新404。
-
必须同时设置body{margin:0;min-height:100vh;background-color:#101a2c}和html{height:100%},否则背景仅覆盖内容区域;canvas需设为block并宽高100vw/vh,避免background简写清空颜色;深色模式应通过data-theme+JS控制而非仅依赖prefers-color-scheme。
-
newService()是解耦的第一道坎,因其将调用方与具体实现硬编码绑定,导致替换、拦截或测试时需修改所有构造点;应通过工厂函数统一创建并注入实例,切断隐式耦合。
-
前端生成HTML长图海报本质是CSS精确控制垂直流与导出适配,需禁用滚动、声明容器高度、处理设备像素比、跨域图片及字体加载时机。
-
JavaScript哈希路由是利用URL中#后hash值实现SPA导航的机制,不触发页面刷新,通过监听hashchange事件并解析location.hash来渲染对应视图,兼容IE8+且无需服务端配置,但SEO差、URL不美观。
-
模板编译是将字符串模板转为JavaScript渲染函数的过程,预编译在构建阶段完成该转换,避免运行时解析,提升性能。以{{name}}欢迎你!为例,编译后生成function(data){returndata.name+"欢迎你!";},运行时直接调用函数。预编译优势包括减少运行时开销、加快首次渲染、支持代码压缩和提前报错。主流实现有Handlebars通过命令行工具预编译为轻量runtime依赖,Vue的SFC在构建时用@vue/compiler-dom转为render函数,生产环境无需编译器,Reac
-
MutationObserver回调不触发最常见原因是配置漏项或目标节点失效:需显式调用observe()且target必须真实存在;监听class/style需用setAttribute而非property赋值;childList监听需注意subtree和removedNodes处理;attributeFilter与attributeOldValue须配合使用以避免性能问题。
-
dialog默认不显示,需显式调用showModal()才呈现;必须已挂载DOM、重置样式、处理无障碍,且Firefox不支持::backdrop。
-
柯里化是让函数分步接收参数并返回新函数,直至参数齐备才执行,不改变原始逻辑而适配函数式编程;需按语义分层固化参数、用通用curry工具指定arity、结合闭包预置上下文,并自然融入pipe/compose数据流。
-
OffscreenCanvas仅提供Worker中的渲染上下文,不解决TB级数据瓶颈;需手动实现分片传输、流式顶点更新、GPU缓冲复用及ImageBitmap零拷贝输出。
-
图片放大溢出的根本原因是transform:scale()仅改变视觉渲染而不影响文档流,必须同时设置overflow:hidden、display:block和transform-origin三者缺一不可。
-
CSS原生不支持oklab颜色空间插值,transition无法在oklab中计算中间色;必须通过JavaScript手动计算oklab色阶并转为rgb/hsl,再用CSS变量和transition驱动才能实现真丝滑阶梯。