自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不会后端的前端不是一个好全栈

不会后端的前端不是一个好全栈

  • 博客(24)
  • 收藏
  • 关注

原创 正则表达式

本文主要介绍了正则表达式的相关字符,以及RegExp的相关属性方法

2025-10-11 18:15:00 824

原创 Docker 常用命令全总结

docker常见的命令总结

2025-10-09 14:45:00 636

原创 面向对象编程

本文主要介绍了面向对象编程思想,包括面向对象四大特性——抽象、继承、封装、多态,以及面向对象五大原则——SOLID原则

2025-10-08 14:00:47 633

原创 前端权限模型——RBAC

本文主要讲解了关于前端权限模型RABC的相关知识点

2025-09-30 18:00:00 974

原创 package.json详解

本文详细盘点了package.json中的相关字段的含义

2025-09-30 07:45:55 829

原创 函数式编程

摘要:本文探讨了函数式编程在前端开发中的应用与优势。文章对比了面向过程、面向对象和函数式编程的区别,强调函数式编程通过纯函数、不可变数据等特性提升代码可预测性和可维护性。重点解析了函数式编程的核心概念,包括一等公民函数、闭包、纯函数、柯里化、函数组合等,并通过代码示例展示其实际应用。文章指出函数式编程能提高开发效率、减少BUG、增强测试性,并适应现代前端框架需求,适合对代码质量要求较高的开发场景。

2025-09-27 12:33:08 964

原创 前端自动化测试真的有必要吗?

文章摘要: 前端自动化测试在复杂项目中能显著提升效率,通过回归测试、减少重复劳动和早期发现bug确保代码质量,同时倒逼开发者编写更规范的代码。但需权衡初期投入、维护成本和适用场景,避免过度测试。测试类型分为单元测试(Jest/Vitest)、组件测试(React Testing Library/Vue Test Utils)、端到端测试(Cypress/Playwright)和UI测试(Percy),需根据项目需求选择合适工具。适合高频迭代的中大型项目,而小项目或频繁改动的业务可能手动测试更高效。

2025-09-26 18:56:24 809

原创 前端包管理工具全解析——彻底搞懂npm、yarn、pnpm

前端包管理工具发展历程及核心原理解析 本文系统梳理了前端包管理工具的演进历史,从早期Bower到主流npm、yarn,再到新兴pnpm,分析了各工具的优缺点和技术迭代逻辑。重点剖析了包管理三大核心机制:依赖类型划分(dependencies/devDependencies等)、语义化版本控制(SemVer规范)以及lock文件锁定策略。文章深入解读了pnpm的创新性硬链接方案如何解决传统工具存在的依赖冗余和幽灵依赖问题,并对比了不同工具的依赖树构建方式。通过理解包管理工具的发展脉络和底层原理,开发者能更高效

2025-09-25 18:05:15 765

原创 VS Code 快捷键大全:从入门到高效,一篇搞定日常开发

VS Code高效快捷键指南:提升编码速度的必备技巧 本文整理了VS Code开发中最实用的快捷键,覆盖文件操作、光标控制、搜索替换、代码格式化与调试5大场景,并区分Windows/Linux与macOS版本。核心技巧包括: 多光标编辑(Alt+点击)实现批量修改 快速文件导航(Ctrl+P)直接定位目标 代码格式化(Shift+Alt+F)保持风格统一 快速修复(Ctrl+.)自动解决报错问题 调试快捷键(F5/F9等)提升排错效率 掌握这些快捷键可减少80%的鼠标操作,显著提升开发效率。建议收藏本文作为

2025-09-24 18:30:00 1430

原创 一文读懂 AST(抽象语法树)

AST(抽象语法树)是前端工具链中Babel、ESLint等工具的核心技术,它将代码转换为可遍历的树形结构。本文通过示例展示了AST的生成过程:首先通过词法分析将代码拆分为Token,再通过语法分析构建AST树。AST节点包含类型、位置等属性,对应不同JS语法单元(如变量声明、二元表达式等)。理解AST有助于掌握代码转换原理,为前端工程化打下基础。

2025-09-21 11:30:00 1347

原创 详解.gitignore:让Git忽略你想忽略的一切

本文全面解析.gitignore文件的使用方法,帮助开发者有效管理Git版本控制中的文件忽略规则。文章首先介绍.gitignore的作用,包括避免提交临时文件、敏感信息和依赖包等。接着详细讲解语法规则,包括通配符使用、目录匹配和否定规则。针对不同项目类型(前端、Python、Java等)提供了实用的忽略规则示例,并区分了全局和局部.gitignore的配置方法。特别说明如何处理已提交文件的忽略问题,并推荐使用GitHub官方模板。最后指出常见误区,如规则顺序、目录匹配等注意事项,帮助开发者编写高效规范的忽略

2025-09-20 11:00:00 1960

原创 前端开发别踩坑!被你忽略的依赖版本号,正在悄悄搞崩你的项目

摘要: 前端项目中依赖版本号管理至关重要,不当使用(如^、*或忽略lock文件)易引发生产环境崩溃、团队协作不一致等问题。语义化版本(SemVer)规范中,X.Y.Z分别代表主、次、补丁版本,不同符号(如~、^)决定升级范围。常见坑点包括依赖自动升级、lock文件缺失、次版本兼容性风险。正确做法:1. 精确版本优先;2. 提交lock文件;3. 定期审计依赖;4. 测试环境验证升级;5. 使用工具(如npm audit、renovate)。版本号管理体现工程化思维,是项目稳定性的关键保障。

2025-09-18 18:45:00 1240

原创 vue的响应式原理深度解读

Vue响应式原理的核心在于数据变化时自动触发关联函数重新执行。Vue2使用Object.defineProperty实现,通过递归遍历对象属性将其转为getter/setter,并搭配Dep和Watcher实现依赖收集与更新。但存在无法检测新增/删除属性、数组操作需特殊处理等缺陷。Vue3改用Proxy实现,能全面拦截对象操作,支持原生数组,性能更优,无需额外API。这种演进源于浏览器兼容性的改善,Proxy提供更自然完整的响应式能力。

2025-09-13 15:30:00 1559

原创 JS中的多线程——Web Worker

JavaScript 作为单线程语言,在处理大量计算任务时会导致页面卡顿。Web Worker 提供了独立线程运行 JavaScript 的能力,通过消息传递与主线程通信,有效解决 CPU 密集型任务带来的性能问题。文章介绍了 Web Worker 的概念、使用场景和基础用法,包括文件式 Worker、Transferable 零拷贝等技术,并提出了生产环境中 Worker 池化的优化方案。通过 Worker 池管理线程复用,平衡性能与资源消耗,为复杂前端应用提供流畅的用户体验。该技术特别适合图像处理、大数

2025-09-10 19:00:00 1432

原创 Javascript引擎——v8引擎

本文详细解析了现代JavaScript引擎(以V8为例)的工作机制。引擎采用两阶段设计:首先将源码解析为AST并生成字节码,实现快速启动;然后通过解释器执行字节码并收集运行时信息,JIT编译器对热点代码进行分层优化。关键点包括:1)字节码平衡启动速度与执行效率;2)解释器收集类型信息为优化提供依据;3)JIT基于类型反馈进行激进优化;4)投机优化与去优化机制确保正确性。这种架构使JavaScript兼具开发灵活性和接近原生的执行性能。

2025-09-09 18:45:00 1465

原创 浏览器缓存机制

本文深入解析浏览器缓存机制,聚焦强缓存和协商缓存两大核心策略。强缓存通过max-age和Expires实现无网络请求直接读取本地资源,适用于指纹化静态资源;协商缓存通过ETag或Last-Modified发起条件请求验证资源变更,节省带宽但增加延迟。文章还澄清了no-store与no-cache的区别,并探讨了缓存键构造和Vary头的影响。最后详细解析了Cache-Control指令,为前端性能优化提供全面指导。

2025-09-08 17:20:22 1044

原创 JS异步编程——从回调地狱到异步编程

JavaScript异步编程的演进 JavaScript作为单线程语言,通过精巧的异步处理方案克服了先天不足。本文梳理了其异步编程的发展历程:从基础的回调函数(Callback)到事件订阅模式(EventEmitter),再到2013年Promise/A+规范提出的链式异步操作,最终到ES6原生Promise和ES2017的async/await语法糖。重点分析了回调模式的问题(嵌套过深、错误处理困难)和事件模式的优劣,详细解读了Promise/A+规范的核心要点及其在ES6中的扩展。这些演进使异步代码从最

2025-08-28 18:30:00 1181

原创 Element Plus样式按需引入样式不生效

【摘要】使用Element Plus按需导入时,TS项目中可能出现组件样式丢失问题。解决方法:1.在main.ts中引入基础样式文件;2.若直接删除组件导入语句会导致TS报错,可通过修改.eslintrc配置文件或在tsconfig.json的include字段添加"auto-imports.d.ts"解决。两种方案都能在保证样式生效的同时避免TS语法检查报错。(149字)

2025-07-18 10:02:39 786

原创 浏览器渲染原理

摘要:现代浏览器采用多进程架构协同完成页面渲染,核心流程包括HTML解析、样式计算、布局、分层、绘制等8个阶段。重排(Reflow)和重绘(Repaint)是影响性能的关键环节,优化策略包括关键路径优化、减少重排重绘、GPU加速等。新一代渲染技术如LayoutNG、Houdini API带来性能提升,开发工具可深度分析渲染瓶颈。理解浏览器渲染机制有助于构建高性能Web应用,通过优化资源加载、DOM结构、样式计算等环节提升用户体验。(150字)

2025-07-04 12:00:00 909

原创 JS知识点总结三———数组

本文全面总结了JavaScript数组的核心知识,包括创建方式(字面量、构造函数、ES6方法)、数组类型(一维/多维、稀疏数组、类数组对象、类型化数组)、常用方法(增删改查、转换迭代、连接切片等)、属性(length、prototype等)以及高级操作技巧。重点讲解了数组扁平化的多种实现方案(递归、ES6 flat、迭代等)和数组去重的方法(遍历、Set、filter组合等)。文章涵盖了从基础到进阶的数组知识点,适合开发者系统学习和参考使用,提升对JavaScript数组的理解和应用能力。

2025-06-25 19:00:00 1831

原创 Vue知识点简单总结上

vue是的JavaScript框架,它是一个渐进式、声明式框架。通过这篇博客,你将初步了解到vue是什么,以及vue的基本使用方式。在学习框架之前,要保证自己有一定的js、css、html基础,有了基础之后,学习框架也并不是什么难事。目前vue2已经不再更新,但是作为初学者还是要去了解一下的,这对你以后学习vue3以及去阅读vue源码有很大帮助,vue3和vue2还是有一定的区别的,你可以通过vue2的学习初步了解到vue的设计思想。

2025-06-23 20:02:27 967

原创 JS知识点总结二———深浅拷贝

本文深入解析了JavaScript中的深拷贝与浅拷贝。浅拷贝仅复制对象的第一层属性,当属性为引用类型时复制的是内存地址(如Object.assign、扩展运算符等方法);深拷贝则递归复制所有层级,创建完全独立的对象(如JSON.parse/stringify、递归实现等)。文章详细对比了两种拷贝方式的实现原理、典型应用场景及各自的局限性,并提供了包含循环引用处理、类型识别和原型链保留的完整深拷贝解决方案。通过掌握这些核心概念,开发者可以更好地处理数据引用问题,避免对象间的意外关联。

2025-06-22 18:15:00 2038 1

原创 JS的运行机制——事件循环机制

JavaScript作为单线程语言,其异步处理能力源于浏览器的事件循环机制。浏览器采用多进程架构,其中渲染进程的主线程负责运行JavaScript,同时处理页面渲染和事件响应。为避免阻塞,JavaScript将异步任务(如定时器、网络请求)交由其他线程处理,完成后回调函数被放入任务队列。事件循环不断从队列中取出任务执行,优先处理微任务。这种机制使JavaScript既能单线程运行,又能高效处理并发操作,但同时也带来计时器精度受限、脚本执行会阻塞渲染等特性。理解这些机制对优化Web应用性能至关重要。

2025-06-22 12:00:00 2727

原创 JS知识点总结一、数据类型

本文主要总结一下JS相关的数据类型相关知识点,包括数据类型分类、数据类型检测方法、以及数据类型转换。

2025-06-21 18:43:10 951

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除