双 Token 校验机制

为什么需要双 Token? 单 Token 模型通常存在一个核心矛盾:安全性与用户体验难以兼顾。 如果 Token 过期时间很短:安全性高,但用户频繁掉线 如果 Token 过期时间很长:用户体验好,但一旦泄露风险极大 双 Token 的核...

前端

如何在浏览器中存储数据

在前端开发中,“让浏览器记住一些东西”几乎是所有稍微复杂一点的应用都会遇到的需求:保存用户登录状态、记录偏好设置、缓存接口数据、支持离线应用等。浏览器本地存储做得好,可以显著减少网络请求、提升页面性能和用户体验;做不好,则会很容易出现数据混乱、XS...

前端

跨域

一、跨域问题的本质:同源策略与安全边界1.1 什么是跨域?跨域(Cross-Origin)的核心根源,是浏览器内置的同源策略,指的是浏览器出于安全考虑,限制一个源(Origin)的脚本访问另一个源的资源。这里的”源”由三个要素组成,所谓「同源」,要求...

前端

TypeScript 泛型

在 TypeScript 的世界里,如果说“接口(Interface)”定义了数据的形状,那么“泛型(Generics)”就是赋予代码灵魂的灵活性。 一、 为什么需要泛型?想象一下,你需要写一个函数,它的功能很简单:返回传入的参数。 123456...

前端

选项式 API 与组合式 API 的区别

Vue 作为前端三大框架之一,从 Vue 2到 Vue 3的迭代不仅带来了性能的飞跃,更在代码组织、逻辑复用等核心层面进行了架构升级。其中,选项式 API(Options API)与组合式 API(Composition API)作为两代框架的...

前端

JavaScript Promise

一、为什么需要 Promise?—— 告别回调地狱在 Promise 出现之前,JavaScript 处理异步操作的主流方式是回调函数。比如我们需要按顺序执行三个异步请求(第一个请求的结果作为第二个的参数,第二个的结果作为第三个的参数),代码会变成这...

前端

Vue2 中的 Vuex

##一、为什么需要 Vuex?? 在 Vue2 项目开发中,如果你遇到以下问题,就该考虑使用 Vuex 了: 多个组件共享同一状态(如用户信息、购物车数据),组件间传参层层嵌套,代码冗余且易出错; 不同组件需要修改同一状态,通过事件总线(Even...

前端

JavaScript 解构

JS 中,解构是一种便捷的语法,用于从数组或对象中提取值,并将其赋值给变量。它可以简化代码,让数据提取更直观。解构主要分为 数组解构 和 对象解构。 一、数组解构数组解构是一种通过索引位置匹配数组元素,并将其赋值给对应变量的语法。由于数组是有序集...

前端

JavaScript 字符串常用属性方法汇总及详解

方法分类汇总索引 获取字符串信息方法: length:返回字符串的长度(字符数量) 字符串查找方法: charAt():返回指定索引位置的字符 charCodeAt():返回指定索引位置字符的 Unicode 编码 indexOf():查...

前端

JavaScript 数组方法详细指南

一、方法分类总结1. 修改原数组的方法(破坏性方法) 添加/删除: push(), pop(), unshift(), shift(), splice() 重排: reverse(), sort() 填充/复制: fill(), ...

前端
12