<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Holly31的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Holly31</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Holly31]]></copyright><item><title><![CDATA[swiper.js实现名录上下滚动]]></title><link>https://blog.youkuaiyun.com/Holly31/article/details/149645025</link><guid>https://blog.youkuaiyun.com/Holly31/article/details/149645025</guid><author>Holly31</author><pubDate>Fri, 25 Jul 2025 17:55:40 +0800</pubDate><description><![CDATA[【代码】swiper.js实现名录上下滚动。]]></description><category></category></item><item><title><![CDATA[前端必备网站（实用帖）]]></title><link>https://blog.youkuaiyun.com/Holly31/article/details/149348963</link><guid>https://blog.youkuaiyun.com/Holly31/article/details/149348963</guid><author>Holly31</author><pubDate>Thu, 17 Jul 2025 16:27:58 +0800</pubDate><description><![CDATA[iconfont-阿里巴巴矢量图标库Vue.js - 渐进式 JavaScript 框架 | Vue.jsVuex 是什么？ | VuexElement - The world's most popular Vue UI frameworkVant 2 - Mobile UI Components built on Vuehttps://lanhuapp.com/https://github.com/Apache ECharts]]></description><category></category></item><item><title><![CDATA[移动端字体适配]]></title><link>https://blog.youkuaiyun.com/Holly31/article/details/149356403</link><guid>https://blog.youkuaiyun.com/Holly31/article/details/149356403</guid><author>Holly31</author><pubDate>Tue, 15 Jul 2025 17:24:59 +0800</pubDate><description><![CDATA[步骤内容1️⃣ 获取设计稿明确设计稿宽度（如 750px）2️⃣ 设置 viewport必不可少3️⃣ 设置 root font-sizeJS 动态设置 html 的 font-size4️⃣ 编写样式使用 rem 或 vw/vh 单位编写样式5️⃣ 多倍图处理使用srcset或媒体查询加载高清图6️⃣ 媒体查询优化针对特殊设备做微调（如 iPad、折叠屏）]]></description><category></category></item><item><title><![CDATA[ArcoDesin+Vue3快速构建页面组件]]></title><link>https://blog.youkuaiyun.com/Holly31/article/details/132100019</link><guid>https://blog.youkuaiyun.com/Holly31/article/details/132100019</guid><author>Holly31</author><pubDate>Fri, 04 Aug 2023 11:23:39 +0800</pubDate><description><![CDATA[根据日常开发，封装表单组件，以及table组件快速构建页面。bl-filter-form组件。组件：bl-form-item。]]></description><category></category></item><item><title><![CDATA[列表状态值转换,状态码对应文字处理]]></title><link>https://blog.youkuaiyun.com/Holly31/article/details/131708244</link><guid>https://blog.youkuaiyun.com/Holly31/article/details/131708244</guid><author>Holly31</author><pubDate>Thu, 13 Jul 2023 17:50:20 +0800</pubDate><description><![CDATA[【代码】列表状态值转换问状态对应文字处理。]]></description><category></category></item><item><title><![CDATA[el-upload上传文件，文件名修改后提交请求]]></title><link>https://blog.youkuaiyun.com/Holly31/article/details/131241273</link><guid>https://blog.youkuaiyun.com/Holly31/article/details/131241273</guid><author>Holly31</author><pubDate>Fri, 16 Jun 2023 10:13:38 +0800</pubDate><description><![CDATA[【代码】el-upload上传文件，文件名修改后提交请求。]]></description><category></category></item><item><title><![CDATA[async/await（优势在于处理then链）]]></title><link>https://blog.youkuaiyun.com/Holly31/article/details/131007612</link><guid>https://blog.youkuaiyun.com/Holly31/article/details/131007612</guid><author>Holly31</author><pubDate>Fri, 02 Jun 2023 15:17:05 +0800</pubDate><description><![CDATA[async/await没有这个限制，可以当做普通的局部变量来处理，用let或者const定义的块级变量想怎么用就怎么用，想定义几个就定义几个，完全没有限制，也没有冗余工作；从字面上来看，async是“异步”的简写，await译为等待，所以我们很好理解async声明function是异步的，await等待某个操作完成。sync/await是对Promise的优化： async/await是基于Promise的，是进一步的一种优化，不过在写代码时，Promise本身的API出现得很少，很接近同步代码的写法；]]></description><category></category></item><item><title><![CDATA[promise]]></title><link>https://blog.youkuaiyun.com/Holly31/article/details/130713170</link><guid>https://blog.youkuaiyun.com/Holly31/article/details/130713170</guid><author>Holly31</author><pubDate>Fri, 02 Jun 2023 14:48:59 +0800</pubDate><description><![CDATA[Promise 构造函数是 JavaScript 中用于创建 Promise 对象的内置构造函数。Promise 构造函数接受一个函数作为参数，该函数是同步的并且会被立即执行，所以我们称之为起始函数。起始函数包含两个参数 resolve 和 reject，分别表示 Promise 成功和失败的状态。起始函数执行成功时，它应该调用 resolve 函数并传递成功的结果。当起始函数执行失败时，它应该调用 reject 函数并传递失败的原因。]]></description><category></category></item><item><title><![CDATA[实现菜单过多滑动显示效果]]></title><link>https://blog.youkuaiyun.com/Holly31/article/details/130967535</link><guid>https://blog.youkuaiyun.com/Holly31/article/details/130967535</guid><author>Holly31</author><pubDate>Wed, 31 May 2023 14:00:42 +0800</pubDate><description><![CDATA[【代码】实现菜单过多滑动显示效果。]]></description><category></category></item><item><title><![CDATA[el-date-picker时间限制处理]]></title><link>https://blog.youkuaiyun.com/Holly31/article/details/130950940</link><guid>https://blog.youkuaiyun.com/Holly31/article/details/130950940</guid><author>Holly31</author><pubDate>Tue, 30 May 2023 16:13:15 +0800</pubDate><description><![CDATA[el--date-picker时间限制处理]]></description><category></category></item><item><title><![CDATA[数组处理，删除指定元素、筛选数据等]]></title><link>https://blog.youkuaiyun.com/Holly31/article/details/130780460</link><guid>https://blog.youkuaiyun.com/Holly31/article/details/130780460</guid><author>Holly31</author><pubDate>Sat, 20 May 2023 13:22:34 +0800</pubDate><description><![CDATA[删除数组中的某个指定元素;删除数组中的指定数组对象]]></description><category></category></item><item><title><![CDATA[前端面试题汇总(算法篇二)--promise和setTimeout的输出顺序]]></title><link>https://blog.youkuaiyun.com/Holly31/article/details/130778837</link><guid>https://blog.youkuaiyun.com/Holly31/article/details/130778837</guid><author>Holly31</author><pubDate>Sat, 20 May 2023 10:40:48 +0800</pubDate><description><![CDATA[针对时间循环里面同步任务 异步任务（宏任务 微任务的考察）]]></description><category></category></item><item><title><![CDATA[前端面试题汇总(算法篇一)--数组相关]]></title><link>https://blog.youkuaiyun.com/Holly31/article/details/130778828</link><guid>https://blog.youkuaiyun.com/Holly31/article/details/130778828</guid><author>Holly31</author><pubDate>Sat, 20 May 2023 10:40:14 +0800</pubDate><description><![CDATA[数组去重以及计算数组中重复最多的元素，重复了几次;判断一个单词是否是回文]]></description><category></category></item><item><title><![CDATA[前端面试题汇总(理论篇五)---布局篇]]></title><link>https://blog.youkuaiyun.com/Holly31/article/details/130740930</link><guid>https://blog.youkuaiyun.com/Holly31/article/details/130740930</guid><author>Holly31</author><pubDate>Thu, 18 May 2023 10:06:32 +0800</pubDate><description><![CDATA[具有 BFC 特性的元素可以看作是隔离了的独立容器，容器里面的元素不会在布局上影响到外面的元素，并且 BFC 具有普通容器所没有的一些特性。async 函数中可能会有 await 表达式，await表达式 会使 async 函数暂停执行，直到表达式中的Promise解析完成后继续执行 async 中 await 后面的代码并返回解决结果。BFC是指浏览器中创建了一个独立的渲染区域，并且拥有一套渲染规则，他决定了其子元素如何定位，以及与其他元素的相互关系和作用。- watch与watchEffect。]]></description><category></category></item><item><title><![CDATA[前端面试题汇总(理论篇四)---日常开发]]></title><link>https://blog.youkuaiyun.com/Holly31/article/details/130740914</link><guid>https://blog.youkuaiyun.com/Holly31/article/details/130740914</guid><author>Holly31</author><pubDate>Thu, 18 May 2023 10:06:02 +0800</pubDate><description><![CDATA[0.1+0.2！=0.3 及小数乘以100如0.44*100失去精度的问题;new Array(10).fill("测试数据");]]></description><category></category></item><item><title><![CDATA[前端面试题汇总(理论篇三)]]></title><link>https://blog.youkuaiyun.com/Holly31/article/details/130740903</link><guid>https://blog.youkuaiyun.com/Holly31/article/details/130740903</guid><author>Holly31</author><pubDate>Thu, 18 May 2023 10:05:31 +0800</pubDate><description><![CDATA[盒模型  闭包 拷贝 布局 this指向等知识点]]></description><category></category></item><item><title><![CDATA[前端面试题汇总(理论篇二) --vue]]></title><link>https://blog.youkuaiyun.com/Holly31/article/details/130740881</link><guid>https://blog.youkuaiyun.com/Holly31/article/details/130740881</guid><author>Holly31</author><pubDate>Thu, 18 May 2023 10:04:15 +0800</pubDate><description><![CDATA[MVVM核心思想，是关注model的变化，让MVVM框架利用自己的机制自动更新DOM，也就是所谓的数据-视图分离，数据不会影响视图。Vue在更新Dom时是异步执行的，在修改数据后，视图不会立即更新，而是在等同一时间就循环中的所有变化完成后，再统一对视图进行更新。所以我们在修改完数据，立即在方法中获取DOM，获取的仍是未修改的DOM。中使⽤了 ES6 的 ProxyAPI 对数据代理，通过 reactive() 函数给每⼀个对象都包⼀层 Proxy，通过 Proxy 监听属性的变化，从⽽ 实现对数据的监控。]]></description><category></category></item><item><title><![CDATA[前端面试题汇总（理论篇一）--页面加载及请求、网络]]></title><link>https://blog.youkuaiyun.com/Holly31/article/details/130740762</link><guid>https://blog.youkuaiyun.com/Holly31/article/details/130740762</guid><author>Holly31</author><pubDate>Thu, 18 May 2023 10:03:42 +0800</pubDate><description><![CDATA[JavaScript的单线程，与它的用途有关。当一个变量向另一个变量赋值引用类型的值时，同样也会将栈内存中的值复制一份放到新变量分配的空间中，但是引用类型保存在栈内存中的变量是一个地址，这个地址指向的是堆内存中的对象，所以这个变量其实复制了一个地址，两个地址指向同一个对象，改变其中任何一个变量都会互相影响。执行JS的时候，遇见同步任务，直接推入调用栈中执行，遇到异步任务，该任务挂起，等异步任务有返回之后推入到任务队列中，等调用栈中所有任务执行完成，将任务队列一个个推入并执行，重复这一系列的行为叫事件循环。]]></description><category></category></item><item><title><![CDATA[数据量太大，加载时长优化(更新中)]]></title><link>https://blog.youkuaiyun.com/Holly31/article/details/130725012</link><guid>https://blog.youkuaiyun.com/Holly31/article/details/130725012</guid><author>Holly31</author><pubDate>Wed, 17 May 2023 14:26:40 +0800</pubDate><description><![CDATA[当需要添加多个DOM元素时，可以先把DOM添加到这个虚拟节点中。然后再统一将虚拟节点添加到页面，这会减少页面渲染DOM的次数。2.在隐藏或者不可见的元素中，requestAnimationFrame将不会重绘/重排。1.把每一帧中的所有DOM操作集中起来，在一次的重排/重绘中完成。用来创建一个虚拟的节点对象，节点对象不属于文档树。]]></description><category></category></item><item><title><![CDATA[webscoket生命周期及心跳机制]]></title><link>https://blog.youkuaiyun.com/Holly31/article/details/130681387</link><guid>https://blog.youkuaiyun.com/Holly31/article/details/130681387</guid><author>Holly31</author><pubDate>Tue, 16 May 2023 20:24:18 +0800</pubDate><description><![CDATA[客户端每隔一段时间向服务端发送一个特有的心跳消息，每次服务端收到消息后只需将消息返回，此时，若二者还保持连接，则客户端就会收到消息，若没收到，则说明连接断开，此时，客户端就要主动重连，完成一个周期。：若某时间段内客户端发送了消息，而服务端未返回，则认定为断线；这个时候会触发到websocket中的onclose事件，需要重新连接服务。]]></description><category></category></item></channel></rss>