-
不能。CanvasAPI本身不支持直接读取本地图片文件,必须通过FileReader或URL.createObjectURL()先加载为img元素再绘制;裁剪缩放依赖drawImage多参数重载;滤镜需手动像素操作,性能差,推荐OffscreenCanvas或WebAssembly加速。
-
“背景色渐变填充”实为background-position位移模拟,需用双色相同线性渐变、background-size:200%100%及background-position过渡;纯色过渡则须显式声明初始background-color并仅transition该属性。
-
transition与grid布局可通过transform和opacity实现平滑动画,避免使用grid-template-columns等不可过渡属性。1.使用transform对grid项进行缩放、位移等视觉变化;2.结合class切换控制布局变更时的淡入淡出或移动效果;3.注意仅支持transition的属性如width、height、margin、padding在特定条件下可动画;4.推荐用opacity和transform提升性能,复杂场景结合JS动画库。主流浏览器兼容性良好,但需规避无效属性动
-
screen-spanning媒体查询不可靠,不应作为唯一判断依据;它仅在Chrome119+/Edge97+支持,Safari/Firefox不支持,且依赖真实双屏硬件与系统跨屏渲染模式,易因缩放、iframe或厂商屏蔽而失效。
-
ChromeDevTools的display面板需手动开启Layout侧边栏(右键标签栏勾选),仅在Elements面板选中元素后生效;CSS-in-JS样式可能不被识别,需查Styles面板;outline不占布局空间适合临时标记,border触发重排但反映真实盒模型;getBoundingClientRect()返回视觉位置,但受合成层、包含块影响;CSS自定义属性修改需作用于正确作用域(如:root)才全局生效。
-
装饰器是运行时函数劫持,非语法糖;它通过修改Object.defineProperty行为重写类成员描述符,在类定义完成时执行,不支持普通函数声明,需编译支持且多装饰器自下而上覆盖。
-
变量提升指声明被提前至作用域顶部,但仅声明被提升、赋值不提升;var声明访问未初始化变量得undefined,let/const因TDZ抛ReferenceError;函数声明全提升可前置调用,函数表达式仅变量名提升。
-
CSScontent属性中中文必须用\XXXX转义,不能直接写或用\uXXXX;因CSS规范只支持十六进制Unicode转义且不依赖文件编码,外链CSS等场景下\5e74是唯一跨环境稳定写法。
-
overflow-x:scroll无反应最常见的原因是父容器未设固定宽度或子元素未实际溢出;需确保父容器有width/max-width且子元素总宽大于父宽,同时设置overflow-y:hidden防纵向干扰,iOS需加-webkit-overflow-scrolling:touch和touch-action:pan-x,Firefox不支持::-webkit-scrollbar伪类。
-
HTML表格最初用于展示数据,早期被滥用作布局工具,通过tr和td实现对齐,虽兼容性好但存在语义错误、代码臃肿、响应式差、无障碍问题及加载慢等局限,现代开发应使用CSSFlexbox、Grid或响应式设计替代,确保语义化、可维护性和用户体验。
-
因为CSS变量需在真实DOM元素的style属性中声明才能被子元素继承,而HOC若未将变量写入容器DOM节点(如用Fragment或未挂载style),变量便无法进入DOM树。
-
charAt()是ECMAScript3标准方法,IE6–8等旧环境原生支持,而str[i]在其中返回undefined或报错;其对负数或越界索引均统一返回空字符串"",语义明确、行为稳定。
-
本地CSS加载更快但需维护路径和构建流程,远程CSS依赖网络却可复用CDN缓存;生产环境优先本地化第三方样式,仅当资源极稳定、多站共用且配置好CSP与fallback时才考虑远程引入。
-
TypeScript不是唯一解,JSDoc配合checkJs:true可在不改代码、不引入编译链路的前提下启用类型检查;适用遗留项目、脚本与CI校验,关键标签为@param@returns@type@typedef@template@extends。
-
TensorFlow.js是Google推出的JavaScript库,支持在浏览器或Node.js中训练和部署机器学习模型。它基于WebGL加速张量运算,可加载预训练模型(如MobileNet用于图像分类)或从零构建神经网络,适用于实时交互、隐私敏感任务和轻量级AI部署。通过tf.loadLayersModel加载模型、tf.browser.fromPixels处理图像、model.predict获取结果,实现前端智能化。也可用tf.sequential定义模型,编译优化器与损失函数后调用fit训练线性回