自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 【无标题】

本文介绍了如何实现一个轻量级的Vue日历组件,主要功能包括:自动渲染当月日历、标记当天日期、支持日期选中和事件派发。组件核心通过JavaScript Date对象计算当月日期信息,生成渲染数组,并利用Vue模板实现数据驱动展示。样式采用flex布局和SCSS编写,确保美观且适配移动端。该组件无需引入第三方库,代码简洁高效,适合需要基础日历功能的项目场景,同时提供了样式优化和功能扩展方向。

2025-12-29 20:38:24 882

原创 VUE框架安装项目创建全流程

本文介绍了Vue项目环境搭建与创建的完整流程。首先详细说明了Node.js安装步骤,包括版本检查、npm源配置等准备工作。然后分步讲解了使用官方脚手架创建Vue项目的具体操作,从执行创建命令到项目启动运行。最后简要提及了项目目录结构。全文提供了从零开始搭建Vue开发环境的实用指南,包含关键命令和注意事项,适合初学者快速上手Vue项目开发。

2025-12-07 09:00:00 187

原创 Vue 的 watch 监听:精准捕捉数据变化的利器

Vue的watch选项是响应式系统的核心工具,用于监听数据变化并执行自定义逻辑。本文详细解析了watch的基本用法、核心特性和最佳实践:1)支持监听单个数据、对象属性和数组变化;2)提供deep和immediate选项实现深度监听和初始化执行;3)对比了watch与计算属性的区别;4)介绍了防抖节流、多数据监听等高级技巧;5)强调了避免滥用深度监听、防止循环触发等注意事项。合理使用watch能有效处理数据变化的副作用,是Vue开发中不可或缺的重要特性。

2025-12-06 12:30:00 653

原创 Vue 计算属性:优雅处理复杂数据逻辑的利器

在 Vue 开发中,我们经常需要对数据进行转换、组合或计算后再渲染到视图中。虽然可以在模板中直接写入表达式,但面对复杂逻辑时,不仅会让模板臃肿不堪,还可能导致性能问题。这时,Vue 的计算属性(Computed Properties)就成了最优解 —— 它以简洁的语法封装复杂逻辑,兼具缓存特性,让代码更优雅、高效。本文将深入解析计算属性的特性、用法及最佳实践。

2025-12-05 10:30:00 870

原创 v-for 与 v-if 的羁绊:Vue 中列表渲染与条件判断的爱恨情仇

本文深入分析了Vue中v-for与v-if指令的冲突问题。当两者作用于同一元素时,v-for优先级更高会导致性能损耗,即先遍历整个列表再过滤。文章提出三种优化方案:1)使用计算属性预先过滤数据;2)将v-if移至v-for外层控制整体显示;3)在循环体内对单个元素使用v-if。同时强调避免用index作为key、合理使用v-show等优化技巧。最终建议让两个指令各司其职:v-for专注遍历渲染,v-if负责条件控制,通过职责分离提升代码性能和可维护性。

2025-12-04 17:00:00 463

原创 Vue 条件渲染:v-if、v-else-if、v-else 的完整指南

本文深入解析Vue中的条件渲染指令v-if、v-else-if和v-else。v-if作为基础条件指令,根据表达式真假决定元素渲染与否,具有惰性渲染特性;v-else-if用于多条件分支判断,需与v-if配合使用;v-else则作为默认分支。文章详细介绍了它们的用法、特性(如DOM动态创建销毁)和最佳实践,包括权限控制、状态提示等场景,并对比了与v-show的性能差异。掌握这些指令能帮助开发者实现精准的视图控制,同时提供性能优化建议。

2025-12-04 09:00:00 776

原创 Vue 中 v-text 与 v-html 的区别:文本渲染与 HTML 解析的抉择

v-text和v-htmlv-text是 “安全卫士”,专注于纯文本渲染,杜绝 HTML 注入风险;v-html是 “HTML 解析器”,支持富文本渲染,但需警惕安全问题。在实际开发中,应遵循 “能使用v-text就不用v-html” 的原则,仅在确需渲染 HTML 且内容来源安全时使用v-html,并做好安全过滤。正确选择二者,既能保证页面渲染效果,又能守护应用的安全性。

2025-12-03 18:45:00 598

原创 Vue 指令详解:v-for、v-if、v-show 与 {{}} 的妙用

本文深入解析Vue.js的核心指令系统,包括插值表达式{{}}、v-for、v-if和v-show。插值表达式用于数据绑定和简单运算;v-for实现列表循环渲染,强调key的重要性;v-if通过DOM操作控制条件渲染;v-show则通过CSS切换元素显示。文章对比了v-if和v-show的使用场景,前者适合低频切换,后者适合频繁显示隐藏。掌握这些核心指令能有效提升Vue开发效率,实现数据与视图的高效同步。

2025-12-03 08:26:33 512

原创 vue响应式变量

摘要:Vue响应式变量能自动同步数据与视图,是Vue框架的核心特性。它简化开发流程,提升代码可读性,适配复杂交互场景。Vue3提供ref(基础类型)和reactive(复杂类型)两种定义方式,使用时需注意避免直接替换reactive对象、基础类型首选ref等要点。响应式变量通过数据劫持实现自动更新,是Vue"数据驱动视图"理念的关键体现,能显著提升开发效率和体验。合理使用可轻松应对各类交互需求。

2025-11-20 09:00:00 242

原创 vue组件化开发

Vue组件化开发是通过将页面拆分为独立、可复用的功能单元(组件)来构建应用的方式。其核心优势包括:提升代码复用率、简化维护、支持团队协作、避免样式冲突。实现要点在于合理拆分组件、规范组件通信、注重复用性。这种"拆分与复用"的思维模式,有效解决了传统开发中的代码冗余问题,使前端开发从代码堆砌转变为模块化构建,显著提升开发效率和质量。

2025-11-19 14:00:00 265

原创 vue有什么优点?有什么缺点?

Vue.js凭借低门槛、响应式数据绑定和轻量灵活等优势,成为中小型项目开发的首选,特别适合国内互联网企业场景。其简洁API设计和丰富官方文档让新手快速上手,组件化开发和虚拟DOM优化提升了开发效率和性能表现。但在大型企业应用、跨平台开发及海外就业场景中存在局限,生态广度和架构规范性稍逊于React等框架。选择框架需根据项目规模、团队需求和目标市场综合考量,发挥其在不同场景下的最大价值。

2025-11-18 13:45:00 486

原创 vue简介

Vue.js 是一个渐进式 JavaScript 框架,由尤雨溪于2014年推出,适用于构建各种规模用户界面。其核心优势包括:1)简单易学的模板语法;2)高效的响应式数据绑定;3)组件化开发模式;4)轻量高效(仅10KB);5)完善的生态系统(VueRouter、Pinia等)。Vue以"渐进式"设计著称,适合从个人博客到企业级应用的各种场景,既能降低新手门槛,又能满足资深开发者需求,是兼具灵活性与功能性的热门前端框架选择。

2025-11-17 20:03:02 314

原创 浏览器缓存机制

浏览器缓存机制通过"强缓存"和"协商缓存"两大策略优化网页加载速度。强缓存利用Cache-Control和Expires字段设置资源有效期,期间直接使用本地缓存;协商缓存则通过Last-Modified/ETag等标识与服务器验证资源更新状态。缓存资源分三级存储:内存缓存(最快但不持久)、磁盘缓存(持久但较慢)和ServiceWorker缓存(可编程)。开发者可通过版本控制、资源分类缓存等技巧优化缓存策略,在加载速度和内容新鲜度间取得平衡。缓存机制显著提升了网页访问效

2025-10-26 11:00:00 705

原创 网络传输的七层协议

OSI七层模型揭秘:从电线到APP的网络通信全链条 摘要:国际标准化组织(ISO)制定的OSI七层参考模型,为复杂的网络通信建立了一套标准化架构。物理层处理原始信号传输,数据链路层确保相邻设备可靠通信,网络层实现跨网路由,传输层建立端到端连接,会话层管理多应用通信隔离,表示层负责数据格式转换,应用层直接面向用户服务。这七层像精密流水线协同工作,实现"自上而下封装、自下而上解析"的通信流程。虽然现代互联网更多采用简化的TCP/IP模型,但OSI七层仍是理解网络通信的经典框架,揭示了数据如何

2025-10-24 15:30:00 662

原创 网页从开始请求到显示的历程

本文详解从输入URL到页面显示的全过程:1.URL解析与缓存检查,优先使用本地缓存提升效率;2.DNS分层查询将域名转为IP地址;3.通过TCP三次握手建立连接,HTTPS还需TLS加密协商;4.发送HTTP请求并接收响应数据;5.浏览器渲染引擎解析HTML/CSS生成DOM/CSSOM树,经布局绘制后合成页面;6.加载异步资源并处理用户交互。整个过程涉及缓存策略、网络协议、安全加密、渲染机制等多技术协同。

2025-10-22 18:30:00 534

原创 TCP协议的四次挥手

TCP四次挥手机制详解:优雅关闭连接的底层逻辑 摘要: TCP协议通过四次挥手机制实现连接的可靠关闭,确保全双工通信的双方都能安全终止数据传输。流程分为:1)主动方发送FIN报文;2)被动方确认ACK;3)被动方发送FIN报文;4)主动方发送最终ACK。该设计通过四次交互确保双向数据通道独立关闭,避免数据丢失。相比三次握手,四次挥手更注重连接终止的完整性,体现了TCP"可靠传输"的核心思想。理解这一机制有助于排查网络连接问题,深入掌握TCP协议设计精髓。

2025-10-20 11:07:36 836

原创 TCP协议三次握手是什么?

TCP三次握手:建立可靠网络连接的确认机制 TCP协议通过"三次握手"确保数据传输的可靠性。首先,客户端发送SYN同步请求;服务器回应SYN-ACK确认并同步;最后客户端发送ACK完成确认。这类似于生活中的"借书确认"过程:发起请求→得到响应→最终确认。三次交互验证了双方的收发能力,并协商数据传输规则(如序号、窗口大小),为后续可靠通信奠定基础。该机制是TCP区别于UDP的关键特性,保障了数据的有序、不重复传输。

2025-10-19 12:15:00 331

原创 Cors能干什么?为什么需要它?

跨域问题的本质是浏览器同源策略的安全限制,当协议、域名或端口不一致时,浏览器会拦截跨域请求。CORS(跨域资源共享)是解决跨域的方案,通过服务器在响应头添加许可字段(如Access-Control-Allow-Origin)实现安全通信。CORS请求分两种:简单请求(直接发送)和预检请求(先发OPTIONS验证),核心都是通过服务器授权来解除浏览器的拦截限制。

2025-10-18 16:15:00 696

原创 Token有什么用?

Token是互联网身份认证的核心机制,相当于"临时身份证"。它通过加密字符串替代账号密码,实现"一次验证多次使用",减少敏感信息传输风险,支持多设备登录和跨平台交互。相比传统Cookie-Session认证,Token具有服务器压力小、无跨域限制、安全性高等优势。常见类型包括JWT(结构化Token)和OAuth2.0的AccessToken等。使用时需注意设置合理有效期、HTTPS传输及及时注销失效Token。Token完美平衡了安全性与便利性,已成为现代互联网应用

2025-10-17 11:15:00 626

原创 HTTP与HTTPS的区别

HTTP与HTTPS的核心差异解析:HTTP是明文传输协议,存在安全风险;HTTPS通过SSL/TLS加密和CA证书验证,保障数据传输安全。关键区别包括:HTTPS采用加密传输(443端口)、验证服务器身份、显示安全标识,适用于敏感场景;HTTP速度略快(80端口),适合静态网站。HTTPS通过"非对称+对称"加密组合实现安全传输:先验证证书,再协商密钥,最后加密数据。当前HTTPS已成主流,能提升搜索引擎排名和用户信任,免费证书与付费证书安全性相同。虽然HTTPS会增加少许延迟,但通过

2025-10-16 19:54:53 1296

原创 JavaScript 数组

JavaScript数组是存储有序数据的核心数据结构,支持动态增减元素和多种数据类型。文章详细介绍了数组的基础创建方式(字面量和构造函数),以及核心操作:查找(indexOf/includes)、修改(索引赋值)、添加(push/unshift/splice)和删除(pop/shift/splice)元素的方法。同时讲解了排序(sort)、遍历(for/forEach/for...of)和转换(join/Array.from)等进阶操作,并提供了避免数组塌陷和浅拷贝数组的实用技巧。掌握这些内容能有效提升数组

2025-10-12 13:45:00 487

原创 深入理解 Math 对象:JavaScript 中的数学计算利器

Math对象提供了丰富的数学计算功能,包括常用常量(如PI、E)、基本运算(abs、max/min)、取整方法(floor/ceil/round/trunc)、随机数生成(random)以及三角函数等。这些方法经过高度优化,能高效处理各类数学计算需求。本文系统介绍了Math对象的核心属性和方法,通过示例代码演示了如何在实际开发中应用这些功能,如计算几何图形、生成随机验证码等场景。掌握Math对象的使用能显著提升前端开发中的数学运算效率。

2025-10-11 08:30:00 416

原创 JavaScript Math 对象:4 个高频功能,解决 80% 数学计算需求

前端开发中,Math对象的4个核心功能能解决80%的数学需求:1)Math.PI提供精确圆周率,用于圆形相关计算;2)4种取整方法(floor/ceil/round/trunc)应对不同场景;3)max/min方法快速找出数组极值;4)Math.random()生成随机数,配合取整公式可实现范围随机。这些方法简洁高效,覆盖了前端常见的几何计算、数值处理、随机生成等需求,开发者无需掌握复杂数学知识即可应对日常开发任务。

2025-10-10 20:13:12 751

原创 JavaScript Date 对象,做时间管理大师

JavaScript中的Date对象是处理时间的核心工具,支持创建、获取、设置和格式化时间。创建方式包括当前时间、时间戳、日期字符串、具体时间参数和复制已有对象。核心方法分为获取时间、设置时间、格式化和时间转换四类,需注意时区处理和月份0-based特性。常见场景如显示本地时间、计算时间差、格式化输出等,但要注意浏览器兼容性和自定义格式化需求。掌握Date对象能有效提升时间处理效率和准确性。

2025-10-06 08:15:00 880

原创 JavaScript 时间戳

本文系统介绍了JavaScript时间戳的核心概念与应用技巧。时间戳是从1970年1月1日UTC开始的毫秒数,具有简洁统一、与时区无关的特性。文章详细讲解了5种获取时间戳的方法(推荐Date.now()),并提供了5个实战案例:计算时间差、比较时间先后、生成唯一ID、处理时区问题和定时器校正。同时指出了常见问题(如单位混淆)及解决方案,帮助开发者全面掌握时间戳的使用。

2025-10-04 11:15:00 1246

原创 JavaScript 三元表达式

JavaScript三元表达式是一种简洁的条件运算符,用于"二选一"场景,语法为条件?表达式1:表达式2。它比if-else更紧凑,适合变量赋值、函数返回和DOM操作等简单条件判断。基础用法包括单一条件判断、逻辑运算符组合;进阶可嵌套使用(建议不超过3层)。使用时需注意:复杂表达式加括号、避免过度嵌套、不要用于无返回值的操作。三元表达式的核心价值是代码简洁性,但多条件复杂逻辑仍建议使用if-else。合理选择两者,可提升代码可读性和开发效率。

2025-10-02 08:30:00 1040

原创 JavaScript 严格模式

JavaScript的严格模式('use strict')通过收紧语法规则提升代码质量,主要解决非严格模式下的两大隐患:意外创建全局变量和this错误绑定全局对象的问题。它通过报错而非静默失败的方式强制开发者规范代码,关键规则包括禁止未声明变量、参数重名、0开头的八进制等7项改进。严格模式适用于所有生产环境项目、库开发及学习场景,能有效提前暴露潜在bug。使用需注意作用域边界和第三方库兼容性,现代ES6模块已默认开启。严格模式并非束缚,而是通过显性报错机制保护代码质量,是JavaScript开发的最佳实践之

2025-10-01 12:15:00 683

原创 jQuery

jQuery是轻量级JavaScript函数库,简化了DOM操作、事件处理、动画效果和AJAX请求,解决了早期浏览器兼容性问题。其核心优势包括CSS选择器语法、链式调用、自动兼容处理等,曾是前端开发标配。随着现代浏览器标准化、原生JS功能增强及Vue/React等框架崛起,jQuery使用减少,但在维护老项目和简单页面开发中仍有价值。学习jQuery有助于理解前端发展历程,但开发复杂应用建议使用现代框架。

2025-09-30 14:00:19 685

原创 JS中全局变量与局部变量的“生命周期”及“作用范围”

JavaScript中的全局变量和局部变量在作用域和生命周期上存在显著差异。全局变量在整个程序中可访问,生命周期与程序同步,但易导致数据污染和内存泄漏;局部变量仅在声明的作用域内有效,随作用域结束而销毁,更安全高效。建议优先使用局部变量,避免滥用全局变量,必要时将全局数据封装为对象以减少冲突风险。同时,推荐使用let/const声明变量,避免var的缺陷,并利用闭包特性延长局部变量生命周期。合理运用两种变量能提升代码质量和内存利用率。

2025-09-28 12:45:00 1430

原创 JS 核心概念:一文搞懂语句与表达式的区别

JavaScript中"语句"与"表达式"是易混淆但必须区分的核心概念。表达式有返回值(如1+2、user.name),可嵌入其他代码;语句执行操作但不返回值(如let、if、for),不能嵌入使用。判断方法:1)在控制台能否输出值;2)能否放入console.log;3)目的是"算值"还是"操作"。区分二者可避免语法错误(如if中用let报错)并理解JSX规则(只能用表达式)。掌握这一区别对编写正确、严谨的代码至关重要。

2025-09-27 11:15:00 428

原创 为什么要把<script>放在</body>之前

前端开发中,script标签的放置位置直接影响页面性能。将script放在<head>会阻塞HTML解析,导致白屏和DOM操作失败;最佳实践是放在</body>前,确保DOM完整解析后再执行JS。特殊情况下,可用async(异步无序执行)或defer(延迟有序执行)属性优化。记住:90%场景下,script放body末尾是最安全高效的选择。

2025-09-26 08:02:52 489

原创 JavaScript 本地存储核心指南:localStorage 与 sessionStorage 实战​

摘要: 本文对比了JavaScript本地存储方案localStorage与sessionStorage的核心特性与适用场景。两者均提供5-10MB存储容量和简洁API,但localStorage永久保存、跨页面共享,适合用户偏好设置;sessionStorage会话级隔离,适合临时数据(如表单草稿)。使用时需注意:避免敏感数据存储、控制数据体积、减少高频读写,并遵守同源策略。选择依据为数据持久性和共享需求。

2025-09-24 08:28:20 528

原创 DOM模型

DOM节点类型详解:7种核心节点及其应用 本文系统介绍了DOM中的7种节点类型:文档节点(9)、元素节点(1)、文本节点(3)、属性节点(2)、注释节点(8)、文档类型节点(10)和文档片段节点(11)。每种节点都有独特的nodeType值和特性:元素节点构建页面结构,文本节点包含内容,文档片段优化批量操作等。文章详细解析了各节点的特性、常用方法和应用场景,并提供了节点判断、文本获取和批量更新等实战技巧。理解这些节点类型能帮助开发者更高效地进行DOM操作,提升网页性能与交互体验。

2025-09-20 15:45:00 698

原创 什么是DOM,有什么用

DOM是连接JavaScript与网页内容的核心技术,它将HTML文档转换为可编程操作的树状结构。DOM节点主要分为元素、文本、属性和文档节点四种类型。JavaScript通过DOM API实现四大操作:查找、修改、创建和删除节点。DOM操作会触发重绘和重排,影响性能,建议使用文档片段等优化手段。DOM事件处理用户交互,现代框架采用虚拟DOM提升性能。理解DOM原理是前端开发的基础技能。

2025-09-19 10:00:00 1146

原创 JavaScript 中 == 与 === 的区别

摘要:JavaScript中的==(宽松相等)和===(严格相等)运算符核心区别在于类型转换。===要求类型和值完全相同,不会进行类型转换;而==会先尝试类型转换再比较。===更安全可靠,能避免意外结果(如'5'==5为true但'5'===5为false)。建议优先使用===,除非需要特定类型转换。特殊情况下可用==null同时检测null和undefined。理解这些差异有助于编写更可靠、可预测的代码。

2025-09-17 08:30:00 350

原创 JavaScript中 i++ 与 ++i

JavaScript中的++i和i++虽然都能实现自增,但存在本质区别:++i先自增后返回值,而i++先返回旧值再自增。本文通过实例分析二者的差异场景,包括独立赋值、混合运算和循环结构,并给出使用建议:独立自增优先用i++;需要新值时用++i;需要旧值时用i++。同时澄清了常见误区,强调现代JS引擎已优化性能差异,建议根据逻辑正确性和可读性选择合适写法。

2025-09-16 20:32:53 658

原创 HTTP 协议核心:GET 与 POST 的全方位区别解析

GET和POST是HTTP协议中最常用的两种请求方法,它们在设计初衷、数据传输方式、安全性和应用场景等方面存在本质区别。GET用于从服务器获取数据,参数通过URL传递,具有可见性、幂等性和可缓存性,适合查询、分页等操作;POST用于向服务器提交数据,参数通过请求体传递,相对隐蔽但非绝对安全,适用于登录、注册等非幂等操作。虽然技术上可以混用,但应严格遵循语义规范。正确理解二者的差异,有助于开发更规范、可靠的接口。

2025-09-13 16:15:00 870

原创 ES6 扩展运算符:简化数组与对象操作的利器

本文详细介绍了ES6扩展运算符(...)的用法和应用场景。扩展运算符可以将可迭代对象展开为独立元素,主要功能包括:1)数组复制与合并;2)函数参数传递;3)字符串转数组;4)类数组对象转换;5)对象复制与合并;6)与解构赋值结合使用;7)在React等框架中传递属性。文章还区分了扩展运算符与剩余参数的区别,并指出其浅拷贝特性及使用限制。扩展运算符极大简化了JavaScript代码,在数据处理和前端开发中应用广泛。

2025-09-12 14:15:00 284

原创 ES6 模板字符串:让字符串处理更简洁高效

模板字符串是一种新的字符串字面量表示法,使用反引号(`)而非单引号(')或双引号(")来定义。它支持多行字符串和字符串插值,极大地简化了字符串的创建和操作。基本语法:javascript运行// 普通字符串const normalString = `这是一个模板字符串`;// 与普通字符串效果相同const regularString = '这是一个普通字符串';ES6 模板字符串通过提供多行字符串支持、字符串插值和标签模板等特性,极大地提升了 JavaScript 字符串处理的效率和可读性。

2025-09-11 11:00:00 439

原创 ES6 类与继承:现代 JavaScript 面向对象编程

ES6引入class语法使JavaScript面向对象编程更简洁直观。通过class关键字可定义类,包含构造方法、实例方法和静态方法。使用extends实现继承,super调用父类方法。类继承支持重写方法、继承静态方法及内置对象等功能。ES6类本质仍是原型链的语法糖,但提供了更好的代码组织方式,使开发更专注于业务逻辑而非底层实现。

2025-09-10 20:41:41 520

空空如也

空空如也

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

TA关注的人

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