- 博客(14)
- 收藏
- 关注
原创 HTTP协议详解与版本演变
HTTP是超文本传输协议(HyperText Transfer Protocol),位于TCP/IP协议栈的应用层,用于规范客户端和服务器之间的通信格式。HTTP具有无连接、无状态等特性,支持多种请求方法和状态码,能够传输各类数据。最新版本HTTP/3基于QUIC协议,优化了传输效率。HTTP报文由起始行、头部字段和消息体组成,支持Cookie、Session等状态管理机制。HTTPS为其安全版本,通过TLS/SSL加密保障通信安全。该协议是现代互联网通信的基础,理解其原理对Web开发和网络安全至关重要。
2025-07-02 21:08:45
1027
原创 速通!Promise异步编程!以及Async/Await解析
Promise是JavaScript处理异步操作的核心机制,解决回调地狱问题。它具有三种状态:Pending、Fulfilled和Rejected,状态一旦改变不可逆。常用方法包括Promise.resolve()/reject()创建立即成功/失败的Promise,Promise.all()并行执行多个Promise,Promise.race()返回第一个完成的Promise等。Async/Await是基于Promise的更直观异步编程方案,使用async/await语法让异步代码更易读。实际应用中可通过
2025-06-17 22:02:09
504
原创 深浅拷贝,看完狠狠避雷!
【JS深浅拷贝避坑指南】基本数据类型(String/Number等)直接复制值,引用数据类型(Object/Array等)复制的是内存地址指针。浅拷贝(如...运算符)仅复制第一层属性,嵌套对象仍共享内存;深拷贝(如JSON.parse)可完全隔离对象但会丢失函数/Symbol等特殊值。开发中直接修改引用类型副本会影响原数据,解决方案是使用{...obj}浅拷贝或递归深拷贝。建议复杂场景使用Lodash的_.cloneDeep,注意循环引用和特殊对象处理。本文通过实际案例揭示了JS数据复制的常见陷阱。
2025-06-15 00:05:33
402
原创 BFC块级元素上下文详解及应用
BFC(块级格式化上下文)是CSS布局中的重要概念,它创建一个独立的渲染区域,具有特定规则:包含浮动元素、阻止外边距折叠、不与浮动元素重叠。触发BFC的方式包括设置overflow非visible、浮动、绝对定位等属性。BFC常用于解决三大布局问题:1)清除浮动(防止父元素高度塌陷);2)避免相邻元素外边距合并;3)实现自适应多栏布局(不与浮动栏重叠)。掌握BFC机制能有效应对常见CSS布局挑战,是现代网页开发的核心技能之一。现代方案推荐使用display:flow-root创建BFC,副作用最小。
2025-06-10 15:33:33
992
原创 WebSocket详解与应用场景
WebSocket 是构建实时、双向、低延迟网络应用的基石协议。它通过建立一个持久的、全双工的连接,并传输轻量级的数据帧,克服了 HTTP 在实时通信方面的效率低下和高延迟问题。在需要频繁、即时交互的现代 Web 应用(聊天、游戏、协作工具、金融交易、监控等)中,WebSocket 是不可或缺的技术。安全性:WSS通过SSL/TLS对数据进行加密,提供了针对窃听和中间人攻击的保护用户信任:用户普遍更信任HTTPS连接,因为浏览器中的“安全”指示符给人一种安全感合规性:许多行业都有数据安全的监管要求,
2025-06-09 21:55:07
1091
原创 vue2和vue3的区别,零基础也轻松顿悟!
Vue是一款渐进式JavaScript框架,用于构建用户界面。Vue3相比Vue2在性能、开发体验和扩展性上有显著提升:1. 响应式系统改用Proxy代理,支持动态属性增删和数组索引修改;2. 新增Composition API,支持更好的逻辑复用和代码组织;3. 支持多根节点,优化了虚拟DOM和Diff算法;4. 生命周期钩子更名,新增调试钩子;5. 改进TypeScript支持,移除了一些过时特性。Vue3的改进使得构建大型应用更加高效、可维护,是开发现代Vue应用的推荐选择。
2025-05-29 01:02:39
660
原创 UniApp和web-view的通信
摘要: web-view是uniapp中的浏览器组件,用于嵌套H5项目,支持网络网页加载(不支持本地HTML)。通过引入uni-webview.js可实现双向通信: H5→uniapp:使用uni.postMessage发送消息,uniapp通过@message事件接收; uniapp→H5:通过evalJS方法注入JS脚本调用H5函数。 注意事项: 纯H5环境需改用window.postMessage或URL传参; 需区分运行环境(App/H5/小程序)并正确引入SDK; 小程序通信需使用wx.miniP
2025-05-26 23:15:35
1738
1
原创 彻底搞懂一篇就够了!!弹性布局(flex布局)
本文深入解析了Flex弹性布局的核心概念和应用。作为当前主流布局方式之一,Flex通过display:flex创建弹性容器,包含主轴和交叉轴。文章详细介绍了flex-direction、justify-content等容器属性,以及order、flex等子元素属性的用法,通过可视化示例展示了空间分配原理。Flex布局优势在于灵活的对齐控制、动态空间分配和响应式特性,但也存在一维布局限制和浏览器兼容性问题。与Grid网格布局相比,Flex更适合线性排列场景。文章最后总结了Flex的最佳实践和注意事项,为开发者
2025-05-26 01:15:59
1880
原创 vue动态渲染图片src失效,引入图片失败的解决办法,以及原因详解
在Vue项目中动态渲染图片的src属性时,直接传递字符串路径可能导致图片无法加载,而通过import引入路径后赋值给src则能正常显示。这是因为打包工具(如Webpack或Vite)在构建阶段会处理静态资源引用(如import或require),将其转换为最终部署路径。然而,动态绑定的字符串路径无法在构建阶段被识别为资源引用,因此不会被处理,导致路径错误。解决方案有两种:一是通过import引入路径并赋值给变量;二是将静态资源放在public目录下,直接使用绝对路径。理解构建工具的资源处理机制,选择合适的方
2025-05-21 23:43:40
552
原创 v-if和v-show的区别,以及不同的使用场景
v-show 和 v-if 是 Vue.js 中用于条件渲染的指令。v-show 通过修改元素的 display CSS 属性来控制元素的可见性,适合频繁切换的场景,如选项卡或折叠面板,因为它不会销毁元素,保留了滚动条状态和已请求的数据。v-if 则根据条件完全插入或删除元素,适合条件较少改变或需要条件分支逻辑的场景,具有更小的初始渲染开销,并支持 <template> 标签和 v-else 等搭配使用。v-show 不会触发组件的生命周期钩子,而 v-if 会。在表单元素中应避免使用 v-sh
2025-05-19 20:08:33
332
原创 v-text和v-html的区别,和使用场景
在Vue.js中,v-text和v-html指令用于将数据绑定到DOM元素的内容上,但处理方式不同。v-text将数据作为纯文本插入,不解析HTML标签,类似于textContent,更安全,适合用于可信源且不需要HTML解析的场景。v-html则将数据作为HTML解析并插入,类似于innerHTML,能解析HTML标签,但有XSS攻击风险,适合渲染富文本或动态生成复杂UI元素。使用v-html时需确保内容可信,且不会编译Vue指令。
2025-05-13 21:10:13
471
原创 el-element和van-field组件输入中校验,以及输入框中的值未被同步修改问题
需求背景:在输入中过滤掉输入框中的emoj表情在开发过程中发现,输入框v-model绑定值之后,只在失去焦点时进行判断,不符合需求。而且在用input和change方法对绑定值进行修改时,输入框中的值未发生修改,并且发现了一些其他的问题。所以,我总结了所遇到的问题,希望对大家有所帮助。
2025-04-23 20:14:01
372
原创 前端笔记--根据URL下载文件出现CORS跨域问题
最近遇到了一个BUG,是需要前端通过URL去下载文件,但是在下载时,出现了跨域问题。废话不多说,我们直接开始正文。
2025-04-14 21:07:54
439
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人