当前位置: 首页 > news >正文

【KO】前端面试四

以下是剩余题目的详细解答,结合前端知识体系和实际应用场景展开:

91. JS 放在 head 里和放在 body 里有什么区别?

对比维度 放在 <head> 放在 <body>
加载阻塞性 会阻塞页面渲染,需等待 JS 下载/执行完成后,才继续渲染页面 一般放在 </body> 前,页面渲染完成后再执行 JS,不阻塞渲染
DOM 可访问性 执行时可能 DOM 未加载(如操作 document.getElementById 会返回 null DOM 已渲染完成,可直接访问/操作元素
应用场景 需优先执行的代码(如关键依赖、统计脚本),但需配合 defer/async 避免阻塞 常规业务逻辑(如事件绑定、交互逻辑),保证 DOM 可用
示例 <head><script src="app.js"></script></head>(需额外处理阻塞问题) <body>...<script src="app.js"></script></body>(推荐写法)

92. Eslint 代码检查的过程是啥?【必会】

Eslint 代码检查流程分 静态分析规则校验 两大阶段,核心步骤:

  1. 解析代码
    • 将 JS 代码通过 Espree(Eslint 内置解析器 )转换为抽象语法树(AST ),识别代码结构(如变量声明、函数调用 )。
  2. 遍历 AST
    • Eslint 遍历 AST 节点,触发 规则监听函数(如检测 console.log 的规则会监听 MemberExpression 节点 )。
  3. 应用规则
    • 对每个节点,根据配置的规则(如 no-console 禁止 console )判断是否违规,违规则标记错误。
  4. 输出结果
    • 将违规信息格式化输出(命令行、编辑器提示 ),支持自动修复(--fix )时修改代码 AST 并生成修复后的代码。

93. 虚拟滚动加载原理是什么,用代码简单实现一个虚拟滚动加载

原理:

虚拟滚动通过 只渲染可视区域内的 DOM ,而非全部列表,降低渲染压力。核心逻辑:

  1. 计算列表总高度并占位(用容器 padding 模拟 )。
  2. 监听滚动事件,动态计算 可视区域应渲染的起始/结束索引
  3. 仅渲染可视区域的列表项,配合数据缓存实现滚动加载。
简易实现(Vue 示例,React/原生同理 ):
<div class="virtual - list" @scroll="handleScroll"><!-- 占位容器,模拟总高度 --><div class="placeholder" :style="{ height: totalHeight + 'px' }"></div><!-- 实际渲染的列表 --><div class="visible - list"</
http://www.dtcms.com/a/347464.html

相关文章:

  • leetcode26:删除有序数组中的重复项Ⅰ(快慢指针解法)
  • 【知识】Elsevier论文接收后的后续流程
  • 【数据结构】跳表的概率模型详解与其 C 代码实现
  • 如何用Redis作为消息队列
  • PyQt6 进阶篇:构建现代化、功能强大的桌面应用
  • Java 线程同步解析
  • 坑洼铁皮矫平机:把“波浪”变成“镜面”的科学魔法
  • C++手写智能指针
  • 高等数学 9.1多元函数的基本概念
  • 力扣每日一刷Day 15
  • 在github上通过dmca数字版权申诉侵权并删除侵权仓库
  • 图结构使用 Louvain 社区检测算法进行分组
  • P9246 [蓝桥杯 2023 省 B] 砍树
  • 蓝桥杯算法之基础知识(2)——Python赛道
  • ComfyUI Portrait Master肖像大师中文版
  • TopK问题(堆排序)-- go
  • 牛客面经2 京东社招-002
  • 知识蒸馏 Knowledge Distillation 序列的联合概率 分解成 基于历史的条件概率的连乘序列
  • 基于SpringBoot的招聘系统源码
  • 破解秘籍——hashcat使用宝典
  • 商超场景徘徊识别误报率↓79%!陌讯多模态时序融合算法落地优化
  • 书写本体论视域下的文字学理论重构
  • 防范瓦斯爆炸:AI摄像机如何杜绝煤矿井下违规抽烟?
  • 复杂工业场景误报率↓85%!陌讯多模态火焰识别算法实战解析
  • ⸢ 零 ⸥ ⤳ 安全体系构建内容结构
  • 卷积神经网络的基本概念
  • 【码蹄杯】2025年本科组省赛第一场
  • 解决Node.js安装与npx命令问题
  • Stm32通过ESP8266 WiFi连接阿里云平台
  • 使用Lora微调大模型介绍篇