前端技术文章
-
OffscreenCanvas必须由主线程通过transferControlToOffscreen()创建并移交,Worker中不可直接new;图表渲染需分离坐标计算(Worker)与像素绘制(OffscreenCanvas),且图像输入仅限ImageBitmap或TypedArray,禁用DOM元素。327 收藏 -
是的,打印时颜色变灰或消失通常因使用rgba()等含alpha的颜色函数,打印机不支持透明度;应统一替换为rgb()或十六进制色值,并检查SVG、组件库等隐含来源。327 收藏 -
setCustomValidity()是唯一能覆盖默认错误文案并影响提交性的方法;必须在input和blur事件中每次都先调用setCustomValidity('')再判断设错,否则错误状态持续存在。327 收藏 -
圆形头像需同时满足四个条件:正方形容器、border-radius:50%、overflow:hidden、object-fit:cover;缺一不可,否则会出现变形、偏移、白边或裁切失效等问题。327 收藏 -
justify-content在flex换行后并非失效,而是仅作用于每行内部;末行对齐需用grid、gap+margin、占位符或JS动态补全等方案实现。327 收藏 -
0b是纯语法糖,仅改变数值书写形式,编译期即转换为等价整型常量,不影响位运算逻辑、执行耗时及生成的机器码,与十进制或十六进制写法行为完全一致。327 收藏 -
appearance:none在iOSSafari上对select、date、number等控件基本无效,是Apple的系统级限制,旨在保障可访问性;仅text、search、textarea、button、checkbox、radio等基础控件在iOS≥16.4且配合-webkit-appearance:none时部分生效。327 收藏 -
命令模式通过将请求封装为对象,实现了请求发送者与接收者的解耦,使操作可参数化、存储、传递及撤销;它解决了复杂操作中高耦合和扩展难的问题,支持撤销/重做、宏命令、任务队列等场景;典型应用包括GUI按钮菜单、图像处理宏、异步任务队列和游戏行为控制;但其缺点是会增加类的数量,可能导致过度抽象,且撤销逻辑实现复杂,需权衡使用场景以确保收益大于成本。327 收藏 -
[...newSet(arr)]是最轻量的数组去重方式,利用Set成员唯一性(SameValueZero比较)自动过滤重复值,支持基础类型按值、引用类型按地址去重,但对象数组需额外按字段处理。327 收藏 -
router.push是一次受控的响应式视图迁移:先通过history.pushState同步URL并生成RouteLocation,再匹配路由、执行可中断的导航守卫链,最后协调组件卸载/挂载与响应式更新。327 收藏 -
strong表达语义重要性,影响SEO和屏幕阅读器;b仅控制视觉加粗,无语义。前者被读屏软件加重音、搜索引擎加权,后者完全静默;滥用strong会降权,纯样式需求时b更干净。327 收藏 -
ReportingAPI由浏览器根据HTTP响应头自动触发,需服务器配置Report-To头和CSP中的report-to指令,仅上报CSP违规、证书错误等内核级安全事件,不处理JS运行时错误。327 收藏 -
V8内联函数的关键是安全性而非调用频次:add因纯函数、无副作用、AST简单而被内联;computeWithSideEffect含try/catch、eval或动态绑定等破坏控制流可预测性的结构,导致V8放弃内联。327 收藏 -
闭包不是中间件,但可作为构建“逻辑自描述”业务中间件总线的关键粘合剂:通过捕获上下文、封装行为、延迟执行,并自带元信息与可追溯性,实现可组合、可插拔、高性能且自描述的中间件体系。327 收藏 -
path[fill]仅匹配显式声明fill属性的<path>元素,若SVG通过img/object加载、未写fill属性、或处于ShadowDOM中则失效,且无法覆盖内联!important样式。327 收藏