- 博客(74)
- 资源 (1)
- 收藏
- 关注
原创 深入了解 JavaScript 中的 isNaN() 与 Number.isNaN() 和它们之间的差异
isNaN()和都有其用武之地,但要注意它们之间微妙的差异。选择合适的函数取决于您的使用情况,如果您需要更精确地检查一个值是否为 NaN,是更好的选择。如果您希望将非数字值也视为NaN,则可以使用isNaN()。了解这些差异有助于编写更可靠的JavaScript代码,避免由于类型转换而引发的意外错误。
2023-08-23 15:08:16 694
原创 精益求精:如何在 React 项目中巧妙运用 Redux 并优化项目结构
以上为在 `React` 项目中成功使用 `Redux` 并合理划分项目结构的步骤。`Redux` 提供了一种强大的状态管理解决方案,为您的项目带来了无限可能性。这将使应用程序更易于维护和扩展,为用户提供更好的体验。
2023-08-23 14:58:02 1169
原创 forEach 中的 return 到底有效吗?如何优雅地中断 forEach 循环?
尽管`forEach`中的`return`语句不会中断整个循环,但是可以采用异常抛出、`for...of`循环或`some`、`every`方法等方法来实现中断循环的效果。在使用时,根据场景选择合适的方法,确保代码的可读性和可维护性。
2023-08-23 14:35:18 4443
原创 React 事件代理 和原生事件绑定混用:你的选择会导致什么问题?
虽然`React`提供了强大的事件处理机制,但建议尽量避免混合使用原生事件和`React`事件。如果需要在`React`组件中处理事件,尽量使用`React`提供的事件系统,以确保一致性和性能。
2023-08-23 14:17:15 1194
原创 解密箭头函数:new 一个箭头函数会发生什么?
在JavaScript中,箭头函数是非常强大和有用的,但它们不适合用作构造函数。因此,尽量避免使用new来实例化箭头函数,以免引发错误。
2023-08-23 14:14:00 340
原创 究竟会不会阻塞?HTML文档渲染中的CSS和JS文件下载探秘
在HTML文档渲染过程中,CSS文件的下载不会阻塞DOM的构建,但会阻塞渲染。而JS文件的下载和执行会阻塞DOM的构建和渲染。因此,在前端开发中,优化JS文件的加载方式对于提高网页性能至关重要
2023-08-23 11:41:18 805
原创 穿越网络迷雾的神奇通道 - WebSocket详解
WebSocket是一项强大的前端技术,使得实时通信变得更加简单和高效。通过WebSocket,Web应用能够实现更多有趣和创新的功能,提供更出色的用户体验。希望这篇博客能帮助你更好地理解和应用WebSocket技术。
2023-08-23 11:20:57 1995
原创 揭秘HTTP的长连接和短连接,keep-alive的神奇作用
长连接(Keep-Alive)和短连接是HTTP中重要的连接方式,而keep-alive机制的使用可以显著提高性能,降低网络开销。在开发Web应用时,合理选择连接方式和充分利用keep-alive,将有助于提升用户体验和性能。
2023-08-23 10:59:09 255
原创 深入探讨空间复杂度:前端开发中的关键概念
空间复杂度是评估算法或代码内存使用的重要指标,尤其在前端开发中,考虑浏览器环境和性能限制更为重要。通过了解和优化空间复杂度,我们可以编写更高效、更节省内存的前端应用程序。
2023-08-22 19:18:37 236
原创 JavaScript 倒计时的时间偏差问题与解决方法
在实际项目中,根据需求选择合适的方法来解决时间偏差问题,以确保倒计时功能的准确性和稳定性。这些方法可以帮助你消除因为事件执行机制导致的时间偏差,使倒计时功能更加可靠。
2023-08-22 19:02:41 1309
原创 Async/Await 与 Generator:解析异步编程的巅峰对决
在选择异步编程方法时,async/await 和 Generator 都有各自的优势。async/await 更适用于通常的异步任务,提供了更好的可读性和错误处理。而 Generator 则在需要更细粒度控制的情况下发挥作用,但相对复杂一些。
2023-08-22 17:48:19 186
原创 解决 Canvas 中获取跨域图片数据的问题
跨域问题在使用 Canvas 处理跨域图片时可能会导致一些挑战,但上述方法提供了多种解决方案。你可以根据你的项目需求选择最适合你的方法,以确保 Canvas 正常处理跨域图片数据。
2023-08-22 17:19:04 1568
原创 为什么 React 的 useState 返回的是数组而不是对象?
虽然有时候我们可能更喜欢对象的形式,但 React 的设计选择了返回数组,这是基于灵活性、维护性和一致性的考虑。
2023-08-22 16:39:04 515
原创 HTTP1.0 和 HTTP1.1 的区别
HTTP1.1 相对于 HTTP1.0 带来了许多改进,包括持久连接、管道化、更强大的缓存控制、更多的状态码以及虚拟主机的支持。这些改进使得 HTTP1.1 更适合现代网络环境,因此在实际应用中更为常用
2023-08-22 14:18:39 628
原创 WebSocket 中的心跳是什么,有什么作用?
WebSocket 中的心跳是一种维持连接活跃性的重要机制。通过定期发送小型数据包,可以防止连接由于不活跃而关闭,同时也能检测连接的状态。
2023-08-22 11:48:58 1798
原创 内存泄漏:前端开发者的噩梦——内存泄露的原因及排查
内存泄漏是前端开发中常见的问题,但它并不是无法解决的。通过谨慎管理事件监听器,避免循环引用,使用浏览器开发工具和了解垃圾回收的工作原理,可以帮助排查和预防内存泄漏,确保应用程序保持高性能和稳定性。
2023-08-21 18:21:17 1722
原创 前端数据安全:保护你的应用不被黑客入侵
前端数据安全至关重要,不仅仅是后端开发人员的责任。通过使用 HTTPS、输入验证、防止 XSS 和 CSRF 攻击,以及安全的存储和传输,可以确保你的应用程序和用户数据受到良好的保护。数据安全是一个成功应用程序的重要组成部分。
2023-08-21 17:46:25 1097
原创 Vue 和 JQuery 的区别在哪?为什么 JQuery 会被 Vue 取代?
在现代 Web 开发中,Vue.js 提供了更多的优势和可能性。越来越多的开发人员选择放弃 JQuery 并转向 Vue 来构建他们的应用程序。
2023-08-21 17:37:57 984
原创 即时通讯:短轮询、长轮询、SSE 和 WebSocket 间的区别
四种常见的即时通讯实现方法:短轮询、长轮询、SSE 和 WebSocket。选择哪种方法取决于应用程序需求和性能要求。短轮询和长轮询适用于较简单的场景,而 SSE 和 WebSocket 更适用于需要高度实时性的应用程序。
2023-08-21 17:22:03 1434
原创 深入理解 HTTP/2:提升 Web 性能的秘密
HTTP/2 是一个强大的协议,可以显著提高网站性能。通过多路复用、二进制协议、首部压缩和服务器推送等特性,它使 Web 页面加载更快,用户体验更佳。
2023-08-21 17:10:11 1909
原创 JS 动画 vs CSS 动画:究竟有何不同?
JS 动画和 CSS 动画都有各自的优点和用途。理解它们的不同之处将帮助在项目中明智地选择使用哪种动画技术,以实现最佳用户体验。
2023-08-21 16:54:31 1362
原创 深入理解事件冒泡和事件捕获
理解事件冒泡和事件捕获对于处理复杂的交互非常重要。可以使用这些概念来创建更灵活和可维护的代码,同时避免不必要的事件冲突。
2023-08-21 16:45:03 241
原创 【基础学习笔记 enum】TypeScript 中的 enum 枚举类型介绍
枚举成员的值可以是字符串(字符串枚举,因为网上大部分只介绍常数枚举),需要注意的一点是,和数字值不同:字符串枚举没有自增长的行为,枚举成员必须设置初始值
2023-08-11 16:01:46 861
原创 vue3使用iframe引入其他网站,vue-router路由跳转后页面空白,刷新之后才展示页面内容乌龙事件
vue3项目的页面A跳转到页面B时,页面B页面是空白的,需要手动刷新一下才能恢复正常,在页面A中用iframe引入了别的网站(后续事实证明,跟iframe没一毛钱的关系)
2023-08-02 16:25:45 2359
原创 vue3中使用Vue.Draggable的clone模式及遇到的坑
Vue.Draggable 拿来即用,没啥难以上手的,就是我在使用的时候遇到一个问题,就是当右边有重复的数据时,多次上下快速拖动右边的元素排序,会偶发一个bug:右边列表会自动多出一个数据,并且操作不了(没法删除也没法给它排序)
2023-07-18 11:25:12 2544 2
原创 vue3传属性时报错 [Vue warn]: Component is missing template or render function.
vue3传属性时报错 [Vue warn]: Component is missing template or render function.
2023-03-24 18:18:11 10426 7
原创 FormData同时传输多个文件和其他数据
向 FormData 中添加新的属性值,FormData 对应的属性值存在也不会覆盖原值,而是新增一个值,如果属性不存在则新增一项属性值。
2023-03-02 19:40:17 3637
原创 浅析正则表达式+范围规则校验表达式+js从字符串中截取数字
需求:管理员在某个工单定义一个范围,比如成绩是0-100之间,或者调查问卷的年龄范围,然后工单流转后其他用户输入的数字收到管理员定义个范围影响,所以要求用正则校验管理员输入的范围规则是否合法,然后根据输入的范围,去校验普通用户输入的数值是否合法。
2023-01-18 18:11:48 1151
原创 vant picker选择器组件增加search搜索功能
[vant](https://vant-contrib.gitee.io/vant/#/zh-CN/picker)用在移动端的小项目还是挺合适的,但也有一些不符合需求的地方,比如它的picker选择器有个问题,就是没有搜索功能。其实或许可以自己组合:比如把picker与IndexBar 索引栏结合起来,或者把picker与search搜索功能组合。我用的是第二种方法:在picker上面加个搜索框,不过我用的van-field。
2022-10-14 19:39:32 7763 5
原创 echarts X轴和Y轴不对应(xAxis type time)的用法
平时项目里数据可视化展示用的大多是echarts或者highcharts, 一般折线图、柱状图、饼图最普通的用的多一点,最常见的就是这种一般x轴和y轴的数据一一对应,这是最常见的用法我就不说了。今天这篇文章记录一下x轴刻度和y轴数据不是一一对应的情况。
2022-10-14 13:46:46 4723 1
原创 vue3中hooks的介绍及用法
今天这篇文章是介绍一下vue3中的hooks以及它的用法。本文内容主要有以下两点:什么是hooksvue3中hooks的使用方法
2022-09-30 18:17:16 30575 4
原创 vue3中使用vue-i18n(ts中使用$t, vue3不用this)
vue3中使用vue-i18n(ts中使用$t, 没有this)
2022-09-29 19:14:32 18821 3
原创 在vue3中使用arco design遇到的坑
理论上arco design这个UI框架用起来跟element ui/plus差不多,但其实里面还是有点坑的,并且有时候它这个避坑的解决办法并不在官方的文档中而在github的issues中。
2022-08-25 23:17:02 8052 4
原创 (CODE:3 MEDIA_ERR_DECODE) Playback cannot continue. No available working or supported playlists
videojs 播放m3u8 报错信息:VIDEOJS: ERROR: (CODE:3 MEDIA_ERR_DECODE) Playback cannot continue. No available working or supported playlists. 解决办法
2022-08-24 19:59:22 11721 13
原创 在vue3中使用videojs播放 .m3u8格式文件
最近项目中有做视频播放,但是由于视频量大,所以后端处理用的是把视频切片放在m3u8里给前端,然后前端自己播放。
2022-08-24 19:55:18 6994
原创 vue3中使用echarts:legend点击事件问题、tooltip的trigger为axis tooltip不显示问题
vue3中使用echarts的坑:legend点击问题、tooltip trigger axis不显示问题
2022-08-11 11:25:48 3793 10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人