-
不能。CanvasAPI本身不支持直接读取本地图片文件,必须通过FileReader或URL.createObjectURL()先加载为img元素再绘制;裁剪缩放依赖drawImage多参数重载;滤镜需手动像素操作,性能差,推荐OffscreenCanvas或WebAssembly加速。
-
HTML本身无全局变量概念,所谓“全局变量”实为JavaScript将var声明或显式挂载到window对象的属性;let/const因块级作用域不会自动挂载,故不可跨script访问。
-
最直接的方式是用document.querySelector定位元素后通过style属性修改内联样式,但仅影响行内样式;批量操作用querySelectorAll配合forEach;修改单个样式需用驼峰命名(如backgroundColor);设置display:none后getComputedStyle将返回该值而非原始CSS值;推荐优先使用classList.add/remove/toggle切换预设类名以提升可维护性;动态注入样式规则需通过CSSStyleSheet.insertRule;监听真实渲
-
font-weight实际有效值仅normal、bold、lighter、bolder及100–900中的整百数(如400/500/600/700),但生效取决于字体是否真实提供对应字重,最稳妥是用400和700;非标准值如550会被就近取整并常降级为400。
-
掌握CSSGrid对齐需理解四组属性:1.justify-items与align-items控制所有子元素在网格区域内的横向与纵向对齐,如center居中、stretch拉伸;2.justify-self与align-self用于单个子元素独立对齐,优先级高于容器属性;3.justify-content与align-content调节整个网格轨道在容器中的分布,适用于存在剩余空间时的布局,如space-between实现两端对齐;4.实际应用中可组合使用,如整体居中用justify-items和align
-
details默认收起,需加open属性才能默认展开;summary内嵌图标易致点击失效,推荐伪元素添加;JS应操作open属性而非class,并监听toggle事件;原生下箭头样式受限,自定义需权衡语义与控制力。
-
gap在旧版浏览器(如Safari14.1前、IE)中不支持,负margin是兼容性兜底方案;需配合父容器负margin抵消外溢,并用:nth-child伪类清除每行末项多余间距。
-
大概率是缓存问题——浏览器或CDN加载了旧版CSS。因link引入的CSS默认启用强缓存或协商缓存,生产环境常配置长期缓存,导致更新后URL未变则用户仍用旧版本;验证可通过Network面板查看状态码与响应头;根本解决需构建时添加哈希文件名、服务端合理设置缓存头、上线后刷新CDN,而非依赖用户强刷。
-
position:relative使元素保持文档流位置并支持偏移,结合z-index可控制层叠顺序,z-index数值越大越靠前,同级元素未设z-index时后渲染的覆盖前一个,且父元素的层叠上下文影响子元素层级。
-
答案:大型JavaScript项目需关注内存管理以提升性能。1.及时清理事件监听、定时器,避免DOM移除后仍被引用;2.防止隐式全局变量和闭包导致的内存泄漏;3.使用虚拟滚动、数据缓存策略和分块处理优化DOM与大数据占用;4.用WeakMap/WeakSet存储弱引用元数据,避免阻碍垃圾回收。配合DevTools监控堆内存,从设计阶段就重视对象生命周期与引用控制,可有效减少内存泄漏风险。
-
JavaScript原型链是对象查找属性和方法的隐式委托路径,通过[[Prototype]]链接实现继承;每个对象的[[Prototype]]指向其原型,函数的prototype属性被赋给new实例的[[Prototype]];继承通过设置子类原型指向父类原型实现,常见方式有构造函数继承、原型链继承和组合继承;需注意属性动态查找、引用类型共享及constructor正确设置等问题。
-
CSS自定义属性是以--开头的原生CSS变量,需在选择器内声明(如:root),区分大小写、支持级联继承;使用var()读取并可设fallback,适用于主题切换、响应式、间距系统等,但不能用于选择器名、属性名、@import等场景。
-
align-items控制网格项在单元格内垂直对齐,justify-items控制水平对齐;二者生效需列/行有明确尺寸;align-content/justify-content仅在轨道总和小于容器时分配多余空间;align-self/justify-self可覆盖容器设置但有兼容性限制。
-
hover结合transition可实现平滑动画,通过设置过渡属性、时长和延迟,使颜色、大小等变化流畅,常用于按钮悬停、图片缩放、下划线展开和卡片阴影等场景,需注意属性可动画性及初始值定义。
-
用transform和opacity不卡是因为它们仅走合成层,不触发重排重绘;而left、top等会触发layout→paint→composite全流程,导致掉帧。