JavaScript
文章平均质量分 72
JavaScript原生原始就是基础
星空下的DeppBing
行动清单(6 个月)
基础强化:TypeScript 进阶、深入 React/Vue 源码、掌握浏览器渲染原理与性能调优工具。
方向选择:锁定 1 个核心方向(如跨端→Flutter+Wasm;AI→TensorFlow.js+LangChain)。
全栈扩展:学习 Node.js+MongoDB,搭建 BFF 层,实践微前端 / CI/CD。
AI 融合:用 Copilot X 辅助开发,落地 1 个 AI 小应用(如智能搜索 / 工单回复)。
项目验证:做 1 个完整项目(如 3D 可视化大屏 / 跨端电商小程序),沉淀技术博客与开源代码。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
中级前端进阶方向 框架篇第二十四步) 并行(Parallelism)
并发和并行是计算机处理多任务的核心概念。并发指系统处理多个任务的能力,任务在时间上重叠但不一定同时执行,如JavaScript事件循环;并行则强调同时执行多个任务,依赖多核CPU等计算资源。前端开发中,Web Worker是实现并行计算的关键技术,它允许在后台线程运行脚本,与主线程并行工作,适合处理CPU密集型任务而不阻塞UI。现代浏览器还提供SharedArrayBuffer和Atomics等高级API支持共享内存并行。此外,HTTP/2/3协议和GPU加速也能提升网络和图形处理的并行效率。开发者应根据任原创 2025-09-24 08:00:00 · 1284 阅读 · 0 评论 -
中级前端进阶方向 框架篇第二十步) Virtual DOM,可视化演示
本文系统介绍了前端中级进阶学习路径,重点解析了VirtualDOM(虚拟DOM)技术。文章首先规划了前端进阶的16个步骤,涵盖JavaScript核心机制、CSS3新特性和框架原理等方向。核心部分深入讲解了VirtualDOM的概念、工作原理、性能优势及实现流程,包括构建虚拟节点、Diff算法和打补丁三大环节。通过代码示例演示了简易VirtualDOM实现,对比了React/Vue的差异,并提供了优化建议和常见误区。最后附有可视化演示界面源码,帮助开发者直观理解VirtualDOM的运作机制。文章强调Vir原创 2025-09-20 08:00:00 · 878 阅读 · 0 评论 -
中级前端进阶方向 框架篇第十九步) Vue3 响应式原理(Proxy vs Object.defineProperty),可视化演示界面
本文对比了Vue2和Vue3响应式系统的实现原理。Vue2基于Object.defineProperty,存在无法检测属性添加/删除、数组操作受限等缺点。Vue3采用Proxy方案,能拦截更多操作,支持属性增删、数组索引修改等,性能更优且不需要特殊API。通过代码示例和可视化演示,展示了Proxy在响应式能力上的全面优势,包括惰性代理、ES6数据结构支持等特性。文章总结了Vue3响应式系统的改进,表明其解决了Vue2的多个痛点,构建了更强大的响应式机制。原创 2025-09-19 08:00:00 · 939 阅读 · 0 评论 -
中级前端进阶方向 框架篇第十八步) javascript proxy技术点,加可视化演示
JavaScript Proxy 详解摘要 Proxy是ES6引入的强大特性,通过"代理"方式拦截对象的各种操作(读写、删除、遍历等),并允许自定义行为。核心要点: 基本用法:通过new Proxy(target, handler)创建代理,handler定义各种trap方法(如get/set)拦截操作 配套Reflect:推荐在trap中使用Reflect.*方法保持语义一致性 实际应用场景: 属性访问日志跟踪 数据验证(类型/范围检查) 支持负索引的数组 惰性代理(按需包装嵌套对象)原创 2025-09-18 08:30:00 · 1070 阅读 · 0 评论 -
【Webpack连载二】了解webpack(入口,输出,加载器,插件,模式)五大核心概念
Webpack核心配置五件套解析 Entry(入口) 定义构建依赖图的起点,支持单入口(SPA)或多入口(MPA)。动态入口可结合环境变量切换,配合runtimeChunk优化缓存。 Output(出口) 配置打包文件的输出路径、命名规则(如[contenthash])及CDN路径。关键点:chunkhash按模块划分,contenthash根据内容生成,利于缓存。 Loaders(模块转换器) 将非JS资源(CSS、图片等)转为Webpack可处理的模块。链式调用(从右到左),支持自定义Loader。示例原创 2025-09-13 08:30:00 · 978 阅读 · 0 评论 -
【Webpack连载一】入门简介。了解为什么需要Webpack,解决哪些开发中通病
Webpack是一个现代JavaScript静态模块打包工具,它将项目中的各种资源(JS、CSS、图片等)视为模块,通过入口文件构建依赖关系图,最终打包成优化的bundle文件。它解决了前端开发中的核心问题:支持模块化开发管理依赖关系,统一处理各类资源,实现代码分割和按需加载,通过Loader转换新语法,提供热更新提升开发效率,并支持生产环境优化如代码压缩和TreeShaking。虽然出现了Vite等新兴工具,Webpack凭借其成熟稳定的特性仍是大型项目的首选构建工具。原创 2025-09-12 10:39:53 · 884 阅读 · 0 评论 -
中级前端进阶 第十二步) 深入CSS3 Flex布局,附源码,可视化演示等
这篇文章提供了一个全面的Flexbox布局指南,包含以下核心内容: Flexbox基础概念:详细解释了主轴/交叉轴原理、flex容器和项目的定义。 容器属性详解:包括flex-direction、flex-wrap、justify-content等属性用法及实际效果。 项目属性解析:涵盖flex-grow/shrink/basis、order、align-self等关键属性及其组合应用。 常见布局场景:提供10+实用案例代码,如居中布局、导航栏、等分列、粘性页脚等。 高级技巧与陷阱:深入分析flex-bas原创 2025-09-12 08:00:00 · 1205 阅读 · 0 评论 -
中级前端进阶方向 第十步)深入 浏览器性能优化(渲染机制、内存泄漏定位、异步优化),附案例源码
《中级前端进阶指南》系统梳理了JavaScript核心技术栈与性能优化方向。核心内容包括:深入理解事件循环、原型链、闭包、Proxy等高级特性;掌握Promise、Generator、Async/Await等异步编程范式;模块化与装饰器应用实践。延伸部分覆盖工厂函数、状态管理、防抖节流等实用技巧。性能优化专题详细解析浏览器渲染机制(关键路径优化、GPU加速)、内存泄漏定位(闭包/事件/定时器排查)、异步优化策略(分片计算、WebWorker)。通过配套源码案例,帮助开发者构建完整的前端性能优化知识体系。原创 2025-09-10 03:45:00 · 1551 阅读 · 0 评论 -
前端函数防抖(debounce)超详解:概念 → 背景问题 → 原理 → 实现 → 演化版本 → 实际应用 → 常见坑点 → 与节流对比 → 源码剖析 → 高级应用 → 总结拓展
本文详解前端函数防抖(Debounce)技术,针对高频触发事件(如输入框输入、窗口调整等)导致的性能问题,提出将多次操作合并为最后一次执行的解决方案。文章涵盖防抖的核心原理、基础实现、演化版本(立即执行/取消功能)、实际应用场景(搜索优化、表单校验等)及常见坑点(this指向、参数丢失)。通过对比防抖与节流的区别,分析Lodash源码实现,并介绍React/Vue中的高级应用。防抖能有效减少不必要的计算和请求,是前端性能优化的重要手段。原创 2025-09-09 08:30:00 · 1450 阅读 · 0 评论 -
中级前端进阶方向 第九步)深入 javascript 高级特性 模块化(Module) 与 装饰器(Decorator),附案例源码
主要涵盖JavaScript模块化和装饰器两大核心主题。 在模块化部分,文章详细介绍了从全局函数、CommonJS、AMD到ES6模块的演进历程,对比了不同模块系统的特点和适用场景,并重点讲解了ES模块的静态加载、tree-shaking等优势。文章还提供了Node.js中ESM与CJS互操作的实践建议。 在装饰器部分,文章对比了新旧装饰器提案的差异,详细解析了装饰器原理、类型、执行顺序和应用场景,并通过可视化示例展示了类装饰器、方法装饰器和属性装饰器的实际应用。 文章最后提原创 2025-09-09 08:30:00 · 1816 阅读 · 0 评论 -
中级前端进阶方向 延伸扩展二) Promise API 概览,可视化演示页面
介绍了JavaScript中Promise的完整API指南,包括实例方法(then、catch、finally)和静态方法(resolve、reject、all、allSettled、race、any)。通过交互式演示页面展示了每个API的用法,并提供了综合示例说明不同场景下的最佳实践。文章还包含一个可运行的HTML页面,允许读者直接测试各种Promise方法的效果,帮助开发者深入理解Promise在异步编程中的应用。原创 2025-09-08 08:00:00 · 1045 阅读 · 0 评论 -
中级前端进阶方向 第八步)深入 javascript 高级特性 Promise,附案例源码
Promise 是一个表示“将来某个时间点完成(fulfilled)或失败(rejected)”的值的对象2. Promise Resolution Procedure(核心算法,包含 thenable 同化)3. then / 链式调用原理(非常关键)4. 微任务(microtask)与执行顺序5. 常见 API 与语义原创 2025-09-08 08:00:00 · 1183 阅读 · 0 评论 -
抗日胜利80周年:纯javascript实现一个简单的图片图层合并下载功能,附带源代码
本文介绍了一个在线图片编辑工具的HTML代码实现。该工具具有上传图片、添加五星红旗渐变图层、裁剪缩放等编辑功能,并支持预览和下载最终作品。界面采用响应式设计,包含上传区、编辑区和预览区三大模块,支持拖放上传和自定义图层。核心功能通过Canvas API实现,包括图片绘制、图层叠加、五星图案绘制等视觉处理效果。整体采用渐变色背景和现代化UI设计,适合在各类设备上使用。原创 2025-09-03 08:30:00 · 156 阅读 · 0 评论 -
抗日胜利80周年:前端下载 ‘Content-Type‘: ‘application/octet-stream‘ 的文件 多种解决方案
前端文件下载实现方案摘要: 本文介绍了多种前端文件下载的实现方式:1)使用fetch获取二进制数据转为Blob,通过a标签触发下载;2)解析响应头Content-Disposition获取动态文件名;3)axios下载需设置responseType为blob;4)兼容IE的方案使用msSaveOrOpenBlob;5)直接URL跳转方式(简单但功能受限)。关键注意事项包括释放临时对象内存、文件名设置和浏览器兼容性处理。原创 2025-09-03 08:45:00 · 438 阅读 · 0 评论 -
中级前端进阶方向 第七步)深入 javascript 高级特性Async/Await,你了解多少,附案例源码
《中级前端进阶指南:深入理解async/await》系统讲解了JavaScript中async/await的核心机制和实用技巧。关键点包括:1) async函数始终返回Promise,await会暂停函数执行但不阻塞事件循环;2) 通过Promise.all实现并行优化,避免串行执行带来的性能损耗;3) 错误处理推荐使用try/catch结构;4) 核心应用场景包括并发控制、超时处理、请求取消等;5) 对比了与传统Promise链的代码可读性优势。文章还提供了并发限制、指数退避重试等实用模式的具体实现原创 2025-09-07 08:30:00 · 1094 阅读 · 0 评论 -
前端 Base64 格式文件上传,涵盖 原理 → 实现 → 性能问题 → 最佳实践 → 实战案例 → 扩展知识
摘要:Base64是一种将二进制数据编码为64个可打印字符的方法,常用于前端文件上传、图片内嵌等场景。文章详细解析了Base64的编码原理、前端实现方式,对比了Base64与其他上传方式的优缺点。建议小文件(<1MB)使用Base64上传,简单高效;大文件则推荐FormData+Blob分片上传。还提供了拍照上传、签名板等实战案例,并强调性能优化与安全注意事项。核心结论:根据文件大小选择合适的上传方式,平衡效率与兼容性。原创 2025-09-06 08:45:00 · 1302 阅读 · 0 评论 -
中级前端进阶方向 第六步)深入 javascript 高级特性Generator生成器,附案例源码
Generator 是 JavaScript 中一个非常强大且富有表现力的特性。虽然它在日常异步编程中的角色已被 async/await 取代,但在创建自定义迭代器、处理无限数据结构、实现状态机等场景中,它依然是一个非常优雅和实用的工具。理解 Generator 对于深入理解 JavaScript 的异步编程发展史和迭代器协议也至关重要原创 2025-09-06 08:15:00 · 1172 阅读 · 0 评论 -
中级前端进阶方向 第五步)深入 javascript高级特性Proxy,附学习案例源码
JavaScript Proxy 是 ES6 引入的强大元编程功能,允许开发者拦截并自定义对象的基本操作(属性访问、赋值、枚举等)。文章详细介绍了 Proxy 的核心概念、语法结构和常用陷阱方法(traps),包括 get、set、has 等。通过 7 个实用示例展示了 Proxy 的典型应用场景:日志记录、数据验证、默认值处理、负数组索引、函数调用拦截等。特别强调了 Proxy 与 Reflect API 的配合使用,以及需要注意的不变性规则和性能考量。文章还对比了 Proxy 与传统 Object.de原创 2025-09-05 10:30:00 · 1226 阅读 · 0 评论 -
Vue 2 与 Vue 3 中 v-model 的对比以及源码分析 案例实践
分析Vue2和Vue3中v-model的实现差异。Vue2通过value属性和input事件实现双向绑定,一个组件只能绑定单个v-model;Vue3改用modelValue属性和update:modelValue事件,支持多个v-model绑定,并增强了自定义修饰符功能。源码层面,Vue2采用编译时转换,Vue3通过指令实现,提供更好的灵活性和扩展性。总体而言,Vue3的v-model是对Vue2的重大升级,使API更一致、功能更强大。原创 2025-09-05 08:15:00 · 1121 阅读 · 0 评论 -
掌握IndexedDB:浏览器大容量存储利器
IndexedDB是浏览器提供的本地非关系型数据库,支持存储大量结构化数据(几百MB至GB级)。它具有异步API、事务支持、索引查询等特点,适合离线应用和大数据存储。相比localStorage,IndexedDB能存储更复杂的数据类型(对象、二进制等),并提供更强大的查询功能。使用流程包括打开数据库、创建对象仓库、增删改查等操作,可通过Promise封装简化异步调用。典型应用场景包括PWA、文件缓存和需要复杂查询的本地应用。使用时需注意浏览器存储限制和版本升级问题。原创 2025-09-05 08:15:00 · 941 阅读 · 0 评论 -
[特殊字符]Webpack 热更新(HMR, Hot Module Replacement)
Webpack热更新(HMR)是一种无需刷新页面即可实时更新模块的开发工具。相比LiveReload,HMR能保持应用状态不丢失。其核心流程包括:Webpack监听文件变化→重新编译→通过WebSocket通知浏览器→客户端替换模块。配置时需开启devServer.hot并添加HotModuleReplacementPlugin插件,对于JS模块可能需手动编写module.hot.accept逻辑。HMR特别适合样式开发、Vue/React组件调试等场景,能大幅提升开发效率,但需注意状态丢失等常见问题。通过原创 2025-08-30 09:29:05 · 849 阅读 · 0 评论 -
中级前端进阶方向 延伸扩展一)javascript 私有状态/工厂函数/回调中保持局部状态/防抖与节流/IIFE 捕获
JavaScript中实现私有状态的几种高级模式:1) IIFE模块模式通过闭包封装私有变量;2) ES6模块利用文件边界实现私有性;3) 工厂函数创建带私有状态的对象。重点讲解了闭包在回调状态保持、防抖节流中的应用,以及IIFE解决循环变量捕获问题。文章包含完整示例代码,演示了计数器模块、用户工厂、事件状态保持等实用场景,并提供了防抖/节流的标准实现和优化建议。最后强调内存管理注意事项,建议为长期闭包提供清理机制。原创 2025-09-04 10:15:00 · 660 阅读 · 0 评论 -
中级前端进阶方向 第四步)深入javascript 闭包、this 、作用域提升,附学习案例源码
该文档是《中级前端进阶方向指南》中的JavaScript核心概念详解,主要包含三个关键知识点:1)闭包是函数及其词法环境的组合,能够访问定义时的外部变量,需注意循环闭包和内存泄漏问题;2)this的绑定规则分为new调用、显式绑定、隐式绑定和默认绑定四种情况,箭头函数不绑定this;3)作用域提升中函数声明整体提升,var变量声明提升但初始化为undefined,let/const存在暂时性死区。文中通过代码示例和可视化图表生动展示了这些概念,并提供了交互式学习案例帮助理解。原创 2025-09-04 07:00:00 · 1292 阅读 · 0 评论 -
【实战功能】实现了两个前端识别提取图片中的文字,附源代码,可直接运行
介绍了两种基于Tesseract.js的前端OCR图片文字识别实现方案。简化版提供了基本的文件选择和中文识别功能,通过进度条显示识别过程。美化版则具有更完善的用户界面,支持拖放上传、多语言选择、图片预览、进度可视化等功能,并强调完全在浏览器端处理以保护隐私。两种方案都通过JavaScript调用Tesseract.js库实现文字识别,其中美化版还增加了结果复制和响应式设计等增强体验的功能。原创 2025-08-28 17:22:38 · 428 阅读 · 0 评论 -
中级前端进阶方向 第三步)深入javascript原型链,附学习代码
本文系统讲解了JavaScript原型链机制,包括[[Prototype]]与prototype的区别、属性查找规则、new关键字原理、继承实现方式等核心概念。通过代码示例和可视化原型链演示,详细解析了原型继承的底层逻辑,介绍了ES5和ES6的继承写法差异,并总结常见踩坑点。文章最后提供了交互式演示页面,帮助读者直观理解原型链的工作机制,适合中级前端开发者深入学习JavaScript面向对象编程原理。原创 2025-09-03 08:30:00 · 1141 阅读 · 0 评论 -
中级前端进阶方向 第二步)深入事件循环(Event Loop)
JavaScript事件循环(EventLoop)是单线程JS实现异步的核心机制。它将任务分为: 宏任务(setTimeout等) 微任务(Promise.then等) 执行顺序为:同步代码→微任务→下一个宏任务→微任务(循环)。微任务优先级高于宏任务,Node.js中process.nextTick优先级最高。典型执行流程:A(同步)→D(同步)→C(微任务)→B(宏任务)。理解事件循环有助于解决异步执行顺序问题,是JS开发的重要基础。原创 2025-09-02 08:00:00 · 1499 阅读 · 0 评论 -
中级前端进阶方向 第一步)JavaScript 微任务 / 宏任务机制
JavaScript采用事件循环机制处理单线程任务调度,将任务分为宏任务(如script整体代码、setTimeout)和微任务(如Promise.then)。执行顺序为:执行宏任务→处理所有微任务→渲染UI→进入下一轮循环。微任务优先级更高,能确保快速响应。典型场景中,同步代码先执行,然后是微任务,最后是宏任务(如setTimeout)。Node.js中process.nextTick优先级最高。理解任务机制能避免阻塞,优化代码执行顺序。原创 2025-09-01 08:00:00 · 1075 阅读 · 0 评论 -
连载:JavaScript性能优化实战 【10章,11章,12章】现代JS性能优化,移动端优化,性能优化工具工作流
探讨了ES6+特性优化策略,包括箭头函数与普通函数的选择、模板字符串与拼接的对比,以及WebAssembly在计算密集型任务中的应用。移动端优化重点包括触摸事件处理(passive监听器)、内存管理(缓存控制)和网络感知加载策略(根据网络条件调整资源质量)。工作流工具章节介绍了自动化性能测试(Benchmark.js)、持续监控集成(CI/CD阈值检测)和构建优化(Webpack配置、代码分割)。最后详述了运行时性能监控SDK的实现,涵盖性能指标收集、错误跟踪原创 2025-08-27 16:02:58 · 629 阅读 · 0 评论 -
连载:JavaScript性能优化实战 【7章,8章,9章】渲染性能优化,模块化打包优化,性能监控分析
1)渲染性能优化,如避免布局抖动、使用CSS3硬件加速和虚拟列表;2)模块化和打包优化,如代码分割和Tree Shaking;3)性能监控方法,包括Core Web Vitals指标和内存泄漏检测。这些技术可有效提升页面加载速度、渲染性能和内存管理,适用于现代Web应用的性能优化实践。原创 2025-08-27 17:31:12 · 562 阅读 · 0 评论 -
连载:JavaScript性能优化实战 【5章,6章】异步编程性能优化,请求性能优化
在异步编程方面,深入解析了事件循环机制,提供了Promise优化技巧(避免嵌套、并行处理)和WebWorker的使用,并推荐使用requestAnimationFrame优化动画。在网络优化部分,提出了减少HTTP请求(资源合并、雪碧图)、数据缓存(ServiceWorker、WebStorage)以及数据压缩(Gzip、二进制格式)等策略。这些方法能有效提升前端应用的响应速度和运行效率。原创 2025-08-27 17:31:27 · 942 阅读 · 0 评论 -
连载:JavaScript性能优化实战 【3章,4章】Dom操作优化,内存管理\垃圾回收机制
在DOM优化方面,详细讲解了减少重排重绘的技巧(如批量修改、使用文档片段)、高效DOM查询方法(缓存查询结果、优化选择器)以及事件委托的实现。内存管理部分深入分析了常见内存泄漏原因(全局变量、闭包、DOM引用)及解决方案,并介绍了对象池模式和WeakMap/WeakSet等高级优化技巧。文章通过大量代码示例对比了优化前后的实现差异,为前端性能优化提供了实用指导。原创 2025-08-27 17:31:43 · 784 阅读 · 0 评论 -
连载:JavaScript性能优化实战 【1章,2章】JavaScript性能优化概述,代码优化基础
JavaScript性能优化已成为现代Web开发的必备技能,直接影响用户体验和商业指标。本文系统介绍了性能优化的核心指标(加载时间、执行时间、内存使用等)和方法论,并深入探讨了代码层面的优化技巧:变量和数据类型选择(基本类型优于引用类型);函数优化(节流防抖、记忆化);循环条件语句优化(缓存长度、概率排序);字符串和数组操作优化(数组join替代拼接、预分配大小)。通过实测数据对比,展示了各种优化手段的实际效果,为开发者提供了可落地的性能提升方案。原创 2025-08-27 17:33:00 · 656 阅读 · 0 评论 -
前端项目中如何让用户回到上次阅读到的位置?
本文介绍了在不同场景下实现阅读位置记忆功能的方法。针对普通网页,可通过记录滚动位置或当前段落ID来实现;单页应用(SPA)可在路由切换时保存位置;电子书等阅读器可存储章节ID和具体位置。文章还讨论了存储介质的选择(localStorage/sessionStorage/后端数据库)、性能优化(事件节流)和用户体验(提示确认)等注意事项,为开发者提供了完整的实现思路。原创 2025-09-02 08:00:00 · 722 阅读 · 0 评论 -
一些项目需要使用npm install --legacy-peer-deps 安装依赖,使用pnpm install好像可以达到同样的效果
npm与pnpm处理peerDependencies的主要差异在于:npm v7+会强制安装peerDependencies并在冲突时报错,需加--legacy-peer-deps参数绕过;而pnpm默认仅警告不强制安装,能自动解决版本冲突。这是由于pnpm采用更严格的依赖管理机制,通过硬链接和store机制确保多版本共存,因此peerDependencies问题较少需要手动干预。建议复杂项目优先选用pnpm以获得更稳定的依赖管理体验。原创 2025-08-23 07:45:00 · 2147 阅读 · 0 评论 -
前端(JavaScript 运行环境:浏览器/Node.js),可以用 new 关键字实例化对象的 构造函数 / 类
JavaScript内置对象速查指南 本文系统梳理了JavaScript中可new调用的内置对象,分为5大类: 核心基础对象:Object/Array/Date/RegExp/Error/Promise等 复杂内置对象:ArrayBuffer/Intl/URL等 浏览器专属对象:WebSocket/Worker/File/Media相关 Node.js专属对象:Buffer/Stream等 开发者自定义类 重点包括: 基本对象创建方式(字面量更常用) 特殊集合类型(Map/Set/Weak系列) 异步处理(原创 2025-08-28 08:00:00 · 953 阅读 · 0 评论 -
Fetch使用大全:GET/POST/PUT/DELETE全解析
本文详细介绍了Fetch API的使用方法,涵盖GET、POST、PUT、DELETE等常见请求方式,以及响应处理和异常处理。主要内容包括:基本语法结构、各种请求类型的参数设置(URL、headers、body等)、响应数据的多种解析方法(json/text/blob等)。特别强调了使用注意事项:需手动检查HTTP错误状态、默认不携带cookie、无内置超时机制(需配合AbortController实现)以及CORS限制等。最后提供了最佳实践方案,推荐封装一个通用的request函数,整合默认配置、错误处理原创 2025-08-28 08:30:00 · 1460 阅读 · 0 评论 -
分别使用 js 和 java 实现了一个对象参数合并方法,接收两个参数,将第二个参数向第一个参数合并 并附带合并修改日志输出
本文介绍了JavaScript和Java实现深度对象合并的方法总结。两种实现都支持递归合并嵌套对象,并提供可配置选项:JavaScript版本支持忽略空值(ignoreNull)和日志级别控制(logLevel),Java版本支持忽略空值配置。实现特点包括:保持不可变性(返回新对象)、增强日志可读性(输出完整路径)、支持复杂对象结构合并。示例展示了基本用法,合并结果包含更新后的对象和详细操作日志。该方案适用于需要深度合并对象并记录变更场景,如配置管理、数据同步等场景。原创 2025-08-22 09:40:50 · 381 阅读 · 0 评论 -
vue 子孙组件传参数,通知更新
Vue组件跨层级通信方案对比: Props+$emit:简单直观但层级深时繁琐,适合小型项目; provide/inject:支持跨层通信但数据流向不清晰,适合中型项目; EventBus:解耦彻底但难维护,适合临时通信需求; Pinia/Vuex:统一状态管理但学习成本高,适合大型复杂项目。开发者应根据项目规模和复杂度选择合适方案。原创 2025-08-19 08:50:58 · 411 阅读 · 0 评论 -
无法找到模块“@/views/GameSelection/index.vue”的声明文件。“c:/Users/***/src/views/GameSelection/index.vue”
本文介绍了四种解决Vue单文件组件类型声明问题的方法:1. 创建vue-shims.d.ts文件声明.vue文件类型;2. 检查tsconfig.json配置确保包含.vue文件;3. 在Vite项目中检查env.d.ts文件;4. 安装Vue的TS类型支持(通常不需要)。最常用的是第一种方法,即在src目录下创建vue-shims.d.ts文件声明*.vue模块类型。这些方法能确保TypeScript正确识别Vue单文件组件,提升开发体验。原创 2025-08-17 14:57:42 · 335 阅读 · 0 评论 -
JavaScript 的箭头函数(Arrow Function) 先于 Java 的函数式编程发布
JavaScript箭头函数(2015年ES6)比Java的Lambda表达式(2014年Java8)稍晚引入,但JavaScript早在2000年前就具备函数式特性(一等公民、闭包、高阶函数等),而Java直到Java8才支持函数式编程。从语法发布时间看Java稍早,但从函数式编程思想来看JavaScript更早拥有完整的函数式特性基础。原创 2025-08-08 13:30:00 · 323 阅读 · 0 评论
分享