- 博客(27)
- 收藏
- 关注
原创 字体渲染与行高的原理
你使用字体大小 ≠ 渲染高度:font-size 定义的是em方块,不是实际渲染高度行高控制总高度:line-height 控制整个文本行的垂直空间精确还原设计:手动设置行高可以精确匹配UI设计稿跨浏览器一致性:确保在不同浏览器中渲染一致/* 这是完全正确的实现方式 */.ui-text {/* 必要的,用于控制总高度 */字体设计是艺术,CSS布局是科学。需要通过CSS的精确控制来实现设计意图。
2025-11-20 14:16:25
804
原创 CSS:less语法与sass语法介绍
Sass (Syntactically Awesome Style Sheets) 是一种 CSS 预处理器,它扩展了 CSS 的功能,提供了变量、嵌套、混合、继承等特性。
2025-11-20 10:51:01
568
原创 Vue3与React 18写法差异
特性Vue 3React 18核心 APIrefreactiveuseStateuseReducer更新方式直接赋值.value(对于ref) 或直接修改对象 (对于reactive必须使用 setter 函数响应式原理基于 Proxy 的依赖收集在每次渲染中捕获状态,通过 setter 触发重新渲染<template>// 基本类型用 ref// 对象用 reactive</script>// 基本类型和对象都用 useState。
2025-11-18 10:42:32
773
原创 底层原理深入分析,箭头函数不能作为构造函数
综上所述,从底层原理来看,箭头函数的设计与普通构造函数所需的机制在函数内部状态管理、原型链构建、内存分配以及调用检测等多个关键方面存在本质差异,这些差异决定了箭头函数不能被用作构造函数。
2025-09-26 12:43:21
311
原创 SIMD.js与asm.js是什么?
它们共同的目标是:解决 JavaScript 在浏览器中执行计算密集型任务时性能不足的问题,让 Web 能够承载游戏、科学计算、多媒体处理等重型应用。在 asm.js 出现之前,人们认为用 JavaScript 写 3D 游戏、视频编码、CAD 软件等是天方夜谭。因为 JS 是动态类型、解释执行的语言,性能与 C/C++ 等编译型语言相差甚远。asm.js 的核心思想是: 通过一套严格的编写规则,让 JavaScript 代码的类型和行为在编译时(AOT) 就能被完全确定。这样 JS 引擎(如 Firefo
2025-09-25 21:20:12
839
原创 JavaScript 的作用域
JavaScript 的作用域主要就是这些。:当前作用域 → 外层函数作用域 → 更外层…作用域之间不是孤立的,它们通过。
2025-09-23 19:47:03
608
原创 Fiber、协程和 Generator行为上的区别?
特性yieldnext实现层级语言引擎层。由 JS 规范定义,引擎原生支持。应用层。React 用纯 JavaScript 代码和数据结构模拟实现。中断/恢复原理冻结/解冻执行上下文。引擎魔法,效率高但不可见。手动记录链表遍历的指针。通过循环和返回“下一个节点”来模拟。状态完全保存在 Fiber 节点数据结构中。控制权协同式 (Cooperative)。函数通过yield主动让出控制权。调度式 (Preemptive)。由外部的调度器 (Scheduler)根据优先级和剩余时间强制中断。状态保存。
2025-09-23 15:32:19
660
原创 前端架构-CSR、SSR 和 SSG
缩写英文中文核心思想CSR客户端渲染服务器发送一个空的 HTML 壳和 JavaScript bundle,由浏览器下载并执行 JS来渲染内容。SSR服务端渲染服务器在每次请求时,动态生成并填充数据的完整 HTML 页面,然后发送给浏览器。SSG静态站点生成在项目构建时,就预先生成好完整的、带内容的 HTML 页面。服务器直接返回这些现成的文件。
2025-09-12 20:20:09
993
原创 setTimeout、setInterval、requestAnimationFrame的使用以及区别
都是 JavaScript 中用于处理异步任务的函数,但它们在用途、执行机制和精度方面存在显著差异。
2025-07-18 15:39:47
572
原创 HTML5 离线存储
特性Application Cache (废弃)控制粒度声明式(manifest文件)编程式(JavaScript)更新机制手动修改 manifest文件内容变化自动更新请求拦截❌ 不支持✅ 完全控制网络请求后台同步❌ 不支持✅ 支持后台同步(Background Sync)缓存策略灵活性极低极高(可自定义逻辑)现代浏览器支持已废弃广泛支持💡现代 Web 离线存储应优先使用 Service Worker。
2025-07-13 10:52:52
532
原创 webpack基础与进阶
webpack是一个开源的javascript模块打包工具,其最核心的功能是解决模块之间的依赖,把各个模块按照制定的规则和顺序组织在一起,最终合并成一个js文件(有时会有多个)。这个过程叫模块打包。loader是webpack中的一个核心概念,我们可以将其理解为一个代码转换的工具。这里的input可能是工程源文件的字符串,也可能是一个loader转化后的结果,output则包括了转化后的代码、source-map和AST对象。loader可以是链式的。
2025-06-09 17:59:39
805
原创 什么是微前端?
微前端描述的是将应用程序进行垂直划分。每一部分的构建都是从数据库到用户界面,并交由一个专门的团队运行,不同团队的前端界面集成到客户的浏览器中后,就形成最终的页面。优化功能开发——一个团队拥有开发某功能必需的所有技能,不必在独立的前端和后端团队间相互协调。简化前端升级——每个团队拥有从数据库到前端完整的技术栈。团队可以自行决定是否升级或切换前端技术。更专注于客户——每个团队都直接向客户提供他们的功能。不存在纯粹的API团队或运维团队。
2025-06-04 19:25:34
864
原创 操作系统-期末看这篇就够了
中断是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得 CPU 暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处继续执行的过程。原语由若干条指令组成,用于完成某一特定功能的一段程序,具有不可分割性,即原语的执行必须是连续的,在执行过程中不允许被中断。执行,但由于资源有限,如cpu只有一个,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进。存储管理:(内存)内存的分配与回收,内存保护,地址映射,动态分区分配算法,虚拟内存等。
2024-12-21 17:02:59
1036
原创 Zustand状态管理
subscribe 函数允许组件绑定到 state-part 部分,而无需在更改时强制重新渲染。如果你想构造一个内部有多个 state-picks 的单个对象,类似于 redux 的 mapStateToProps,你可以使用。你可以在其中放置任何东西:基元、对象、函数。选择你的状态,组件将在更改时重新渲染。小心不要抹去你依赖的部分,比如 action。当你准备好时,只需调用 set,zustand 并不关心你的操作是否是异步的。您可以使用任何类型的存储来持久保存商店的数据。减少嵌套结构很烦人。
2024-11-25 17:02:25
428
原创 nodejs学习
npm init可以生成package.json文件;//异步操作读取文件})console.log('这是一个最简单的中间件函数')//把流转关系,转交给下一个中间件或者路由next()})console.log('这是最简单的中间函数')next()})})})})监听req的data事件let str=''str+=chunk})})监听req的end事件let str=''str+=chunk})//str中存放的是完整的请求体数据})})
2024-11-16 21:25:32
914
原创 remix路由
目录中的任何 JavaScript 或 TypeScript 文件都将成为应用程序中的路由。请注意,在添加嵌套路由时,您通常希望添加索引路由,以便在用户直接访问父 URL 时,某些内容会在父 URL 的 outlet 内呈现。这使您可以将代码组织得更靠近使用它们的路由,而不是在其他文件夹中重复功能名称。通常,您的 URL 不是静态的,而是数据驱动的。之前的文件名与另一个路由文件名匹配,则它将自动成为匹配父路由的子路由。嵌套路由是将 URL 的段耦合到组件层次结构和数据的一般概念。的子路由,并在父路由的。
2024-11-12 11:57:00
558
原创 Remix全栈式框架
Remix 是一个全栈式 Web 框架,可让您专注于用户界面,并通过 Web 标准进行工作,以提供快速、流畅且有弹性的用户体验。人们会喜欢使用你的东西。
2024-11-12 11:21:50
839
原创 算法设计与分析
问题的解向量:一个问题的解向量可以构成一个n元组的形式,这个n元组称为问题的解向量;问题的解空间:问题的解是问题解空间的一个子集,解空间中满足所有约束条件的解称为可行解;解空间中所求解的目标函数的最大或最小的可行解称为最优解;解空间树:将回溯法的搜索空间看作是树形结构,也称解空间树或者状态树;回溯法的基本思想:在一棵含有全部问题解的状态空间树上进行深度优先搜索,从根节点出发搜索解空间树,解为叶子节点;
2024-06-08 16:03:54
1055
原创 python爬虫
allow_redirects:True/False是否让requests做重定向处理,默认是;params:字典形式,设置url后面的参数,比如?verify:True/False,是否进行HTTPS证书验证,默认是,需要自己设置证书地址;文章页URL形式:http://www.crazyant.net/2261.html。headers:设置user-agent,refer等请求头;data:字典或者字符串,一般用于post方法时提交数据;根域名:http://www.crazyant.net。
2024-05-27 16:02:36
663
原创 健身管理系统
健身管理系统本项目包括三个方面:前台预约展示,后台管理系统,MySQL数据库存储;前台预约展示前台方面使用html+css+vue2+axios;<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
2024-05-17 16:31:15
1016
1
原创 node基础+后端开发
npm init可以生成package.json文件;//异步操作读取文件})console.log('这是一个最简单的中间件函数')//把流转关系,转交给下一个中间件或者路由next()})console.log('这是最简单的中间函数')next()})})})})监听req的data事件let str=''str+=chunk})})监听req的end事件let str=''str+=chunk})//str中存放的是完整的请求体数据})})
2024-05-15 19:39:45
974
5
原创 Vue学习笔记
通过redirect属性为某一路径重新指定另一路径;path: '/',},},State是驱动应用的数据源;View是将state映射到视图;Actions是在View上的输出导入的状态变化。
2024-05-15 19:25:04
441
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅