- 博客(18)
- 收藏
- 关注
原创 JavaScript如何实现复制图片功能?
最近开发中遇到一个需求,就是用户希望能通过直接点击按钮复制图片,然后就可以很方便的把图片发送到班群中,于是就有了复制图片的需求。那么如何通过JavaScript来实现复制图片呢?
2025-03-13 21:31:04
994
原创 axios架构设计和原理
基于 fetch 封装, 兼具 fetch 与 axios 的特点, 旨在为开发者提供一个统一的 api 调用方式, 简化使用, 并提供诸如缓存, 超时, 字符编码处理, 错误处理等常用功能.的网络请求库,它可以用于浏览器和nodejs当中。在不同环境,它所使用的请求API是不同的,在nodejs环境使用的node原生的。模块,而在浏览器中使用的是。axios是一个基于。
2025-01-24 17:12:39
604
原创 由于请求的竞态问题,前端仔喜提了一个bug
在平常的开发过程中,你可能会遇到这样一个bug。测试:我在测一个输入框搜索的功能时,告诉你通过输入框输入的内容,和最终通过输入内容搜索出来的结果对不上。前端:我是通过调用后端接口拿到的数据,这明显是后端返回的结果有问题啊,找后端去!后端:通过Postman一通自测后说道,结果没问题啊!找前端去!前端:我来试试看!一顿输入后发现,没问题啊,这bug我复现不出来啊!测试:这个bug是偶现的!前端:一通排查后发现,bug的直接原因是网络问题,根本原因是,导致的数据不一致(喜提一个有意思的bug)。
2025-01-23 23:23:31
1717
原创 当window.open被ios安全机制拦截,我掏出3种方案,终于跳转成功!
最近在日常开发中遇到了一个window.open的兼容问题,就是在ios浏览器中,使用window.open时被ios的安全机制拦截,于是找到了3种解决方案,最终成功跳转。
2025-01-18 21:01:17
1209
原创 为实现前端截图功能,我的dom-to-image踩坑之旅!
最近产品要求做一个截图的功能,其背景是我们做的是一个教育类的网页,我们会统计学员的做题、听课、任务等数据,然后按照班级进行排名,然后班主任需要把这些数据发到班级群里,所以需要一个截图的功能。于是我做了下兼容,在图片访问失败的时候,给一张默认图片,然后用一个变量统计图片正常加载的个数,等所有图片都正常加载完后再渲染图片。经测试发现,某些ios手机下会生成图片失败,于是也在网上找了下方案,最后通过连续调用两次。最终在网上找到了一个方案,那就是修改源码,增加。去生成图片,虽然生成的图片比较小,只有。
2025-01-14 23:05:23
1160
原创 一道字节前端面试题,我直接把Promise的使用功力秀面试官一脸!
今天我们来研究一道字节跳动的前端面试题,即。题目是这样的:要求用JS实现一个带并发限制的异步调度器Scheduler,保证同时运行的任务最多有两个。它给出的初始代码如下,要求我们实现addTask方法,使之输出结果满足要求。schedulerstartstartaddscheduleraddTasktimename任务执行的时间任务名字我们再来依次分析下输出结果1000ms后输出1500ms后输出21100ms后输出31100ms500ms600ms1100ms1400ms后输出4500ms600ms。
2025-01-11 22:13:14
406
原创 vue3的12种组件通信方式
对于日常使用vue3开发项目的前端小伙伴来说,组件通信方式可以说是必会的基本功,今天带大家一起盘下vue3的通信方式。我们这里按照组件的关系来划分。总共包含12中组件通信方式。
2025-01-09 23:54:44
1543
原创 前端调试篇(二):如何在各种场景调试vue3源码?
对于要学习vue3源码的前端小伙伴来说,通过调试vue3源码来学习是一种不错的方法,本期来介绍下调试方法。
2025-01-04 23:57:01
1262
原创 不是哥们,我的console.log突然打印不出东西了!
大家好,我是小寒!一枚默默搬砖的前端开发者!在上个月的时候的一天早上,我还在一如既往的写代码,突然调试的时候,,于是我开始bug排查大法。devServer经过这一系列操作下来,发现并没有什么卵用,盯着那些代码看,眼睛都看花了都没看出来有什么问题,让同事帮忙看了一下,还是没发现问题,后面还是用浏览器的无痕模式才发现端倪。在无痕模式下,发现是可以正常打印的,所以首先就怀疑是的问题,于是在正常模式下,把所有chrome扩展插件全部禁用,果然发现可以正常打印了,然后利用二分法。
2024-12-27 10:52:29
1586
原创 token泄漏产生的悲剧!Vant和Rspack被注入恶意代码,全网大面积被感染
2024年12月19号,在前端圈发生了一件匪夷所思的事情,前端开源项目Vant的多个版本被注入恶意代码后,发布到了npm上,导致全网大面积被感染。
2024-12-20 08:40:01
980
原创 JavaScript数组去重花样大赏
在平时的前端开发中,常常会遇到数组去重的场景,比如表单校验重复的数据,有重复数据不让提交,或者对后端返回的数据进行去重展示等,同时它也是一道经典的前端JavaScript基础面试题,本期一起来带大家看看去重的各种花样方法。
2024-12-18 23:25:29
860
原创 5年vue开发经验,我总结出了这些性能优化技巧
以上就是我结合自己5年的前端vue使用经验,再加上对vue源码的理解,总结出来的一些vue性能优化技巧,当然很多优化都不能显著提升性能,但我还是希望从小处着手,让自己的vue项目写的更加合理,一点一滴的优化慢慢就能累计成大优化。去处理这些数据了,同时这些数据变化时,也不会执行更新页面的逻辑了,这样提升了vue的初始化和更新性能。,同时将静态部分缓存起来,在重新渲染时直接复用 ,提升页面更新性能。,组件级更新指的是修改了响应式数据之后,vue的更新是。,也就是函数式组件,使用函数式组件的优点是可以。
2024-12-15 15:30:29
1042
原创 面试官:Vue的scoped原理是什么?
还记得几年前我去找前端工作的时候,那时候才初入职场,有一次去面试,然后被面试官问过一个面试题,Vue中Scoped的原理是什么?幸好当时八股文面试题背的很多,我当时就说是在选择器加了一个唯一的属性实现的,那时候很慌,就怕他继续追问,在追问就答不上了,因为当时的水平也只有三板斧,就靠硬背,对知识的理解也只停留在表面,现在经过几年的开发经验后,再次回看这个问题,会有不一样的理解。
2024-12-12 21:19:08
941
原创 为了顺利使用Vue.extend,我被迫去研究了Vue源码...
大家好,我是小寒!事情是这样的,我们在开发PC端项目的时候,封装了一个Dialog组件,我希望这个组件能像Element UI里面的Message组件一样,通过这样的类似API方式去调用,这时候就需要Vue.extend出场了。使用基础 Vue 构造器,创建一个“子类”。参数是一个包含组件选项的对象。组件选项指的是我们平时书写.vue文件的script标签中的那个对象,把这个对象传入Vue.extend后会返回一个子类的构造器。
2024-12-09 23:57:35
1041
原创 学会这4个高级技巧,晋升Vue高级打工人
最近看了一篇谈及vue高级技巧的文章,给我看笑了,里面说什么自定义指令动态组件自定义过滤器等等都写在里面了,但凡在实际工作中写过几个中小型的项目,这些都是常用大家都熟知的烂大街的东西好吧,什么叫做真正的vue高级用法,今天来给大家盘点一下。
2024-12-08 16:01:59
831
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人