双 Token 校验机制为什么需要双 Token? 单 Token 模型通常存在一个核心矛盾:安全性与用户体验难以兼顾。 如果 Token 过期时间很短:安全性高,但用户频繁掉线 如果 Token 过期时间很长:用户体验好,但一旦泄露风险极大 双 Token 的核...2026-05-23前端
如何在浏览器中存储数据 在前端开发中,“让浏览器记住一些东西”几乎是所有稍微复杂一点的应用都会遇到的需求:保存用户登录状态、记录偏好设置、缓存接口数据、支持离线应用等。浏览器本地存储做得好,可以显著减少网络请求、提升页面性能和用户体验;做不好,则会很容易出现数据混乱、XS...2026-05-02前端
跨域一、跨域问题的本质:同源策略与安全边界1.1 什么是跨域?跨域(Cross-Origin)的核心根源,是浏览器内置的同源策略,指的是浏览器出于安全考虑,限制一个源(Origin)的脚本访问另一个源的资源。这里的”源”由三个要素组成,所谓「同源」,要求...2026-04-24前端
TypeScript 泛型 在 TypeScript 的世界里,如果说“接口(Interface)”定义了数据的形状,那么“泛型(Generics)”就是赋予代码灵魂的灵活性。 一、 为什么需要泛型?想象一下,你需要写一个函数,它的功能很简单:返回传入的参数。 123456...2026-01-30前端
选项式 API 与组合式 API 的区别 Vue 作为前端三大框架之一,从 Vue 2到 Vue 3的迭代不仅带来了性能的飞跃,更在代码组织、逻辑复用等核心层面进行了架构升级。其中,选项式 API(Options API)与组合式 API(Composition API)作为两代框架的...2026-01-23前端
JavaScript Promise一、为什么需要 Promise?—— 告别回调地狱在 Promise 出现之前,JavaScript 处理异步操作的主流方式是回调函数。比如我们需要按顺序执行三个异步请求(第一个请求的结果作为第二个的参数,第二个的结果作为第三个的参数),代码会变成这...2025-12-26前端
Vue2 中的 Vuex##一、为什么需要 Vuex?? 在 Vue2 项目开发中,如果你遇到以下问题,就该考虑使用 Vuex 了: 多个组件共享同一状态(如用户信息、购物车数据),组件间传参层层嵌套,代码冗余且易出错; 不同组件需要修改同一状态,通过事件总线(Even...2025-12-20前端
JavaScript 解构 JS 中,解构是一种便捷的语法,用于从数组或对象中提取值,并将其赋值给变量。它可以简化代码,让数据提取更直观。解构主要分为 数组解构 和 对象解构。 一、数组解构数组解构是一种通过索引位置匹配数组元素,并将其赋值给对应变量的语法。由于数组是有序集...2025-10-18前端
JavaScript 字符串常用属性方法汇总及详解方法分类汇总索引 获取字符串信息方法: length:返回字符串的长度(字符数量) 字符串查找方法: charAt():返回指定索引位置的字符 charCodeAt():返回指定索引位置字符的 Unicode 编码 indexOf():查...2025-10-12前端
JavaScript 数组方法详细指南一、方法分类总结1. 修改原数组的方法(破坏性方法) 添加/删除: push(), pop(), unshift(), shift(), splice() 重排: reverse(), sort() 填充/复制: fill(), ...2025-09-29前端