哇塞,有好吃的~
摘要: 循环引用 使用JSON.stringify()时,遇到循环引用的时候,会抛出错误TypeError: Converting circular structure to JSON,如果需要强行转成字符串的话,需要利用到该方法的第二个参数。 主要思路其实就是将循环引用的部分替换成某个标识,等到解析的时候 阅读全文
posted @ 2023-04-13 19:24 风行者夜色 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 背景 针对目前团队自己开发的组件库,对当前系统内引用组件库占比进行统计分析,以实现对当前进度的总结以及后续的覆盖度目标制定。 主要思路 目前找到的webpack分析插件,基本都是针对打包之后的分析打包之后的chunk进行分析,但是我希望的是分析每个页面中的import数,对比一下在所有页面中的imp 阅读全文
posted @ 2023-04-13 19:22 风行者夜色 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 多叉树的深度优先和广度优先遍历 深度优先的思想比较常见,就是使用递归,没什么好说的。 广度优先的思想,主要是需要借助一个队列,不停地将同一层级的子节点放入队列,然后依次从队列中取出执行。 /** * var Node = { * data: null, * children: Array<Node> 阅读全文
posted @ 2021-08-24 17:27 风行者夜色 阅读(724) 评论(0) 推荐(0) 编辑
摘要: javascript中异步任务的执行顺序 经常会遇到一些异步任务的执行顺序问题,接下来就来看几个常见的例子,答案解析在后面,可以自己先分析一下,看看执行结果,这样比较有利于查漏补缺。 // 微任务,宏任务的场景 setTimeout(() => { console.log(1) Promise.re 阅读全文
posted @ 2021-08-21 09:57 风行者夜色 阅读(508) 评论(0) 推荐(0) 编辑
摘要: 前端图片压缩 需求:最近做项目,要求900k-5M的图片,需要压缩到900K以下 实现:利用canvas.toDataURL(type, encoderOptions)或toBlob(callback, type, encoderOptions)实现 前置知识点 canvas.toDataURL(t 阅读全文
posted @ 2021-04-12 10:30 风行者夜色 阅读(477) 评论(0) 推荐(0) 编辑
摘要: HTTP (HyperText Transfer Protocol) 超文本传输协议 HTTP/0.9 单行协议 请求由单行指令构成,以唯一可用方法GET开头,其后跟目标资源的路径(一旦连接到服务器,协议、服务器、端口号这些都不是必须的)。 只有HTML文件可以传送,无法传输其他类型的文件;也没有状 阅读全文
posted @ 2021-01-27 15:20 风行者夜色 阅读(133) 评论(0) 推荐(0) 编辑
摘要: css积累 transform和filter属性会导致子元素的fixed重新针对该容器计算,而不再是针对全局计算。 transform和filter属性可以使得非定位元素的overflow属性对其子元素的absolute元素生效。 transiton有一个steps([number])的动画函数,可 阅读全文
posted @ 2021-01-21 10:40 风行者夜色 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 针对vue组件,编写对应的组件文档 使用vuepress直接通过markdown文件去动态生成对应的组件演示和代码预览以及说明。 准备工作 先安装vuepress,npm i vuepress -D。 接着安装vuepress-plugin-demo-container,npm i vuepress 阅读全文
posted @ 2021-01-05 14:58 风行者夜色 阅读(1461) 评论(0) 推荐(0) 编辑
摘要: 源码位置 src/core/instance/events.js 逐行分析 首先看一下它里面用到的另一个文件中暴露的方法,在src/core/vdom/helpers/update-listeners.js中。 // 更新一个组件实例内部的事件的listener的方法 /** * on 一个list 阅读全文
posted @ 2020-12-26 10:49 风行者夜色 阅读(1170) 评论(0) 推荐(0) 编辑
摘要: 源码位置 src/components/keep-alive.js。 逐行分析 // 获取组件的name function getComponentName (opts: ?VNodeComponentOptions): ?string { return opts && (opts.Ctor.opt 阅读全文
posted @ 2020-12-25 16:36 风行者夜色 阅读(247) 评论(0) 推荐(0) 编辑