ios 开发中如何系统地排查报错

前言高效排错的关键,是把一个模糊的异常,逐步转化成可以验证的因果判断。 错误信息提供线索,日志记录局部事实,调用栈指出程序经过的位置。要找到可靠的修复,还需要回答三个问题: 问题在什么条件下发生? 哪一种解释符合目前的证据? 做什么实验,能够区分几...

前端

在浏览器中实现 VR180 视频播放

把一段 VR180 视频直接放进 <video> 标签,通常会看到两幅并排、明显变形的画面。它能正常播放,却不像我们期待的那样,可以转动视角、自然地观察场景。 原因在于,这类视频保存的不是一个固定视角下的平面画面,而是一个覆盖半球的视野。...

前端

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

前端
12

站内搜索

没有找到内容!