-
TreeShaking是构建时移除未使用ES6模块代码的优化技术,依赖其静态导入导出特性;CommonJS因动态性不支持,且副作用、动态import、间接引用等会导致失效,需配合代码分割与压缩协同优化。
-
可通过innerHTML、createElement+appendChild、insertAdjacentHTML、DocumentFragment及模板字符串五种方法动态插入HTML:innerHTML最直观;createElement更安全;insertAdjacentHTML支持多位置插入;DocumentFragment提升批量插入性能;模板字符串适合列表生成。
-
GraphQL是一种客户端可精确指定数据需求的API查询语言和运行时,核心特点是单端点、强类型Schema、嵌套查询及避免过度/欠加载;它不替代REST,而是提供更灵活的数据获取范式。
-
闭包是函数与词法作用域的组合,可访问外部变量,常用于私有变量、回调和柯里化;需注意及时清理引用以防内存泄漏。
-
图片加载失败时用::before显示占位内容,核心是JS监听load/error事件更新data-loaded属性,CSS据此控制伪元素展示alt文本及样式。
-
JavaScript中数组是有序可变长对象,支持任意类型数据;常用字面量创建,操作分改变原数组(如push/splice)和不改变(如map/filter)两类,遍历推荐高阶函数,判断数组用Array.isArray()。
-
CSStransition失效主因是property、duration、timing-function、delay四属性协作不当:property误用all或含不支持属性;duration缺失或为0;timing-function不匹配交互场景;未在初始态声明transition或状态值不可计算。
-
答案:WebGL通过canvas获取渲染上下文,使用GLSL编写顶点和片元着色器,编译链接成程序后传递给GPU;顶点数据通过缓冲区对象从CPU传输到GPU,由属性变量解析,统一变量传递全局参数;渲染循环利用requestAnimationFrame逐帧清空缓冲、更新状态、设置着色器与数据,并调用绘制命令实现动画。
-
JavaScript表单验证核心是提交前快速反馈错误以提升体验,但不可替代后端校验;需结合原生API、解耦规则、无障碍支持及前后端协同。
-
为HTML表格添加斑马纹效果最直接且推荐的方式是使用CSS的:nth-child()伪类选择器。1.通过选中表格中的偶数行或奇数行,2.为其应用不同的背景颜色以实现视觉交替效果,3.可结合:hover伪类增强交互性,4.使用CSS变量提升维护效率,5.注意选择器特异性、动态内容更新、嵌套表格及可访问性问题以避免常见“坑”。该效果不仅提升美观度,更显著提高了数据阅读效率和用户体验。
-
<a>标签原生不支持alt属性,仅title是合法且被广泛支持的全局属性;alt仅适用于图文类替换内容元素(如<img>、<area>、<inputtype="image">),在链接中使用alt属于无效HTML,将被浏览器忽略或导致验证失败。
-
H5页面无原创筛选按钮,因微博未在Web端开放该功能,仅客户端支持;原创判定唯一依据是接口返回的is_original字段值为1。
-
word-break和overflow-wrap触发条件不同:前者暴力拆词,后者礼貌换行;中文场景推荐overflow-wrap:break-word+word-break:keep-all。
-
定义@keyframes设置border-color渐变,再通过animation应用到按钮,可实现边框颜色平滑循环变化,结合:hover可控制悬停时触发动画,需确保初始边框样式与动画起点一致以避免跳帧。
-
伪元素::before和::after必须设置content属性才能渲染,否则不显示;content值不能为normal,需为""、字符串或attr()等有效值;宿主元素不能是替换元素或display:none;还需检查样式覆盖、visibility、z-index及overflow影响。