全部文章

1299 篇文章

javascript08-03
阅读

彻底搞懂前端路由:从 Hash 到 History 的演进与实践

一、什么是路由? 在 Web 开发中, 路由(Route) 是 URL 与资源 之间的映射关系。 服务端路由 :传统多页应用(MPA)里,浏览器每跳转一次 URL,都会向服务器发起一次新的请求,服务器根据 URL 返回不同的 HTML 页面。 前端路由 :单页应用(SPA)里,浏览器只加载一次 ,后续 URL 变化 完全在客户端完成 ,不触发整页刷新,通过 JS 动态渲染局部视图仅 局部更新 DOM , 不刷新页面 。 二、SPA 为什...

#学习#面试
javascript08-01
阅读

Canvas虚拟列表技术方案详解

🎯 方案背景 在处理大数据量列表渲染时,传统DOM方案面临严重性能瓶颈: 传统方案痛点 DOM操作开销巨大 :10万条数据创建10万个DOM节点,内存占用高 重排重绘频繁 :滚动时大量DOM操作导致页面卡顿 CSS高度限制 :超出1600万像素会被浏览器裁剪 内存泄漏风险 :大量DOM节点难以有效回收 Canvas方案优势 ✅ 零DOM操作 :直接像素级绘制,避免DOM重排重绘 ✅ 极致性能 :百万级数据依然60FPS流畅滚动 ✅ 内...

#学习
react07-30
阅读

React性能优化三剑客:memo、useMemo和useCallback详解

前言 在React开发中,性能优化是一个永恒的话题。今天我们就来深入探讨React提供的三个重要性能优化工具: 、 和 ,它们如何帮助我们构建更高效的React应用。 1\. 为什么需要性能优化? 🤔 React的核心机制是当组件的state或props发生变化时,组件会重新渲染。但有时这种重新渲染是不必要的: 父组件更新导致所有子组件重新渲染 ,即使子组件的props没有变化 复杂计算在每次渲染时重复执行 ,消耗大量资源 函数引用在...

#学习#面试
javascript07-30
阅读

揭秘JS事件循环:带你深入理解async与await、Promise与RAF

🚀 探索更多React Hooks的可能性?访问 查看完整文档,通过 快速安装,让你的React开发效率翻倍! 引言 在前端开发领域,JavaScript的事件循环(Event Loop)机制是理解异步编程、优化性能的关键。它不仅是面试中的高频考点,更是编写高效、无阻塞代码的基石。然而,许多开发者对其理解仍停留在表面,尤其是当 、 以及 等现代异步API交织在一起时,其执行顺序往往令人困惑。 今天,我们将通过一道经典的字节跳动面试题,...

#学习#面试
浏览器07-30
阅读

浏览器内核到底有哪些?它们各自又有什么区别?

这问题其实很多刚入行的同学经常搞混,所以今天我来一次性讲明白—— 浏览器内核 到底有哪些?它们各自又有什么区别? 说白了,浏览器内核就是浏览器的大脑,分两部分: 渲染引擎(Rendering Engine) :负责网页的排版渲染,HTML、CSS统统交给它。 JS引擎(JavaScript Engine) :处理JavaScript脚本逻辑,比如你点按钮后弹出对话框这种行为。 1)常见浏览器内核盘点 下面我直接列几个主流的浏览器内核,顺...

#学习#面试
javascript07-30
阅读

面试官:怎么禁止用户复制

面试官:怎么禁止用户复制我们网页中的内容 青铜段位:阻止默认事件法 包括但不限于阻止copy事件,mouse事件(阻止选区产生),阻止key事件(阻止键盘操作)等等。 例子: 未登录的csdn 面试官挑眉 :“用户按F12禁用JavaScript,阁下又当如何应对?” 黄金段位:CSS 幻术 本质上就是用css让用户无法区选到对应的内容,从而不能产生复制。 面试官微笑 :“我在控制台删掉::after伪元素,阁下幻术不攻自破,并且无法区...

#学习#面试
javascript07-28
阅读

兼容性问题

浏览器兼容性问题是什么? 浏览器兼容性问题通常是指网页或 Web 应用在不同浏览器或版本中表现不一致的问题。说白了无非就是 , 在旧版本浏览器中不兼容。 解决思路 1. 明白目标浏览器范围 2. 找个插件将现代 JS 转到 ES5 3. 处理一下CSS的兼容性问题 解决方案 1. 通过定义 明确目标浏览器范围 2. 使用 将现代 JS 转到 ES5 3. 使用 给 CSS 加厂商前缀 好了,开搞 .browserslistrc文件是什么...

#学习
javascript07-28
阅读

虚拟DOM:为什么React-Vue比直接操作DOM快

一、一个让我加班到凌晨的性能问题 去年优化公司后台管理系统时,我遇到个诡异现象:页面上有个超长的表格,每次筛选都要卡顿3 4秒。我本能地用jQuery直接操作DOM重渲染,结果性能更差了… 直到我把代码改成React+虚拟DOM, 性能直接提升8倍 !今天就来揭秘这个"前端性能加速器"的工作原理。 二、虚拟DOM是什么? 用大白话说: 虚拟DOM就是真实DOM的"轻量级替身" 。它本质上是JS对象,保存着节点类型、属性和子元素等信息。...

#学习#面试
前端性能07-27
阅读

前端常见的性能指标采集

前言 作为前端,我们的任务便是给用户一个好的产品体验感,不管是从首次进入页面的加载时长,还是对于交互时页面的响应流畅度,都是我们应该关注的点。 RAIL模型是由谷歌提出的,一种以用户为中心的性能模型,RAIL分别代表Web应用生命周期的四个方面:响应、动画、空闲、加载。 一般不管是页面打开还是流程交互,又或者是网络反馈,这也操作我们应该尽量在1000ms内完成,用户的体验感才不会差,用户留存率也将得到提升。 下面看一下我们常见的一些性能...

#学习#面试