-
reduce可实现对象分组与嵌套结构扁平化,flatMap能映射并展开数组,二者结合可高效处理复杂数据转换,如按作者统计评论词数。
-
canvas.toDataURL()导出失败主因是跨域污染,即drawImage跨域图片后canvas被标记为污染状态,导致返回空白或黑图;需用HTTP服务、设置crossOrigin且服务器支持CORS,同时注意DPR适配、格式兼容及Blob内存管理。
-
闭包是函数与其定义时词法作用域的组合,本质是引擎保留对外层变量的引用而非拷贝;常见于内层函数逃逸原作用域并访问自由变量,如outer返回inner时count被持续持有。
-
答案:封装时间格式化与相对时间计算函数可提升开发效率。通过formatTime将日期转为“YYYY-MM-DDHH:mm:ss”等格式,支持自定义输出;利用timeAgo计算时间差,返回“刚刚”“3分钟前”等人性化提示,增强用户体验。
-
必须显式声明display:grid或inline-grid才能启用网格布局,仅用grid-cols-等类无效;列宽数值为等分份数而非像素;行轨道需grid-rows-显式定义,否则row-span-*可能失效;响应式需各断点独立声明。
-
overflow对无显式宽高的块级容器无效,需作用于实际内容容器并设min/max-width:100vw;横屏检测应优先用min-aspect-ratio而非orientation;iOS存在overflow-x:hidden失效的WebKitBug,需配合contain:layoutpaint等方案;CSS无法单独实现横屏锁定,须JS协同screen.orientation.lock。
-
<noscript>仅在JS被禁用或脚本加载失败时生效,不能用于检测浏览器兼容性;需用特性检测+UA辅助判断老浏览器,并提供降级方案而非单纯提示。
-
不一定,cache.manifest文件只需与HTML同源且可被同域请求到;浏览器只校验MIME类型(text/cache-manifest)和语法规范,但部署错位会导致404或MIME不匹配而离线失败。
-
表单提交时表情符号变成问号或乱码根本原因是字符编码没对齐,HTML页面、表单编码声明、后端接收和数据库存储全链路必须统一为UTF-8。只要其中一环是ISO-8859-1或默认系统编码(比如Windows-1252),?、?这类四字节Unicode字符就会被截断或替换为?。实操要点:HTML页面顶部必须有,且放在最前面表单显式声明编码:(即使页面已设charset,也建议加上)后端接收前确认请求头:Content-Type:application/x-www-for
-
cursor属性常用值包括pointer、default、wait、help等通用值;grab、zoom-in等值在旧版Safari中兼容性差,需谨慎使用或添加浏览器前缀。
-
选错transition-timing-function会导致动画缺乏起伏;应按属性特性分设曲线:位移用cubic-bezier(0.22,0.61,0.36,1),缩放/旋转用0.17,0.67,0.83,0.67;避免all覆盖,需分层声明transition-property;transform与opacity组合须触发GPU加速;z-index不支持过渡,宜用transform模拟浮起效果。
-
Canvas在flex/grid中需用ResizeObserver同步width/height与clientWidth/clientHeight,并重置坐标系或缩放ctx.scale(),否则内容拉伸模糊、点击失灵;CSS缩放须配image-rendering:pixelated防锯齿。
-
图片不显示主因是src路径错误,基准点为HTML文件所在目录;以/开头为网站根目录绝对路径,无/或./开头为相对路径,../向上退一级;本地双击仅支持相对路径,服务器环境可兼用两种;需检查Network面板状态码、文件名大小写及扩展名一致性。
-
Proxy是拦截对象操作的构造函数,Reflect提供与之对应的标准化方法;二者协作可规范拦截逻辑、复用默认行为并支持receiver等细节。
-
::placeholder样式不生效主因是被重置样式覆盖或前缀缺失,需四套兼容写法、避免opacity、用class切换实现动态控制,并注意SSR首屏兜底。