
前端基础
前端学习
每天吃饭的羊
学不完,根本学不完
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
慢慢理解this
【代码】慢慢理解this。原创 2025-07-13 16:01:46 · 140 阅读 · 0 评论 -
箭头函数(Arrow Functions)和普通函数(Regular Functions)
语法,更简洁,可省略。原创 2025-07-12 21:20:41 · 380 阅读 · 0 评论 -
性能优化,代码压缩,代码分割,tree shaking
Webpack:默认用 terser-webpack-plugin 压缩 JS, css-minimizer-webpack-plugin 压缩 CSS。- Vite:打包时默认启用压缩,可通过 build.minify 配置压缩器(如 'terser' 或 'esbuild' )。component: () => import('./pages/Home.vue') // 仅访问时加载 Home 组件。作用:通过删除冗余字符(空格、注释)、缩短变量名、合并代码等方式减小文件体积。原创 2025-06-17 00:30:17 · 325 阅读 · 0 评论 -
vite的分包
对 import('./module.js') 动态导入的模块,会自动生成独立 chunk(如 module.[hash].js )。- 第三方依赖(如 node_modules 中的库)会被自动拆分为独立 chunk(如 vendor.js ),避免与业务代码混合。- 结合路由懒加载:对单页应用的路由组件使用 import() 动态导入,自动生成独立 chunk。// 按文件夹分组(如将 utils 目录下的文件打包到 utils 文件夹)// 示例:将 lodash 单独打包。原创 2025-06-17 00:25:16 · 537 阅读 · 0 评论 -
内存泄露的原因
组件卸载时未移除对 DOM 的监听(如 addEventListener 未调用 removeEventListener )。- 注意:现代浏览器的 GC(垃圾回收器)已能处理部分循环引用,但含 DOM 节点的循环引用仍可能导致泄漏。- 避免过度使用全局变量,使用弱引用(WeakMap/WeakSet)替代强引用。- 场景:对象 A 引用对象 B,对象 B 又引用对象 A,形成循环引用。- 回调函数中引用外部变量,且未被正确销毁(如事件监听未移除)。原创 2025-06-16 23:06:56 · 354 阅读 · 0 评论 -
vite的常用配置
assetFileNames: 'assets/[name]-[hash].[ext]' // 静态资源命名格式。minify: 'terser', // 代码压缩方式,可选 'esbuild'(更快)或 'terser'(更彻底)chunkFileNames: 'js/[name]-[hash].js', // chunk 文件名格式。extensions: ['.js', '.vue', '.json'] // 自动补全的文件后缀。'@': '/src', // 给 src 目录设置别名。原创 2025-06-16 23:04:21 · 500 阅读 · 0 评论 -
vue组件之间通讯方式(面试概率极大)vueX pinia provide inject有点像react中的useContext
methods: {</script>-- 父组件 --><template><div></div><script>},data() {return {},methods: {原创 2025-02-25 11:28:11 · 266 阅读 · 0 评论 -
解构赋值学习
首先展开对象的所有属性,然后再添加或覆盖labelList属性。这意味着先将里的所有属性都放入新对象,接着把labelList转换为字符串后的结果赋值给新对象的labelList属性。先添加或设置labelList属性为转换后的字符串,然后再展开对象的所有属性。这可能会导致如果中原本就有labelList属性,那么展开时会覆盖之前设置的labelList属性值。原创 2025-02-08 09:41:15 · 500 阅读 · 0 评论 -
快捷键和输入法相冲突
【代码】快捷键和输入法相冲突。原创 2025-01-08 16:06:42 · 159 阅读 · 0 评论 -
el-table 排序默认升降排序,远程查询
【代码】el-table 排序默认升降排序,远程查询。原创 2024-07-15 19:59:09 · 374 阅读 · 0 评论 -
面试题、、、
mutations 允许你明确定义状态的变更操作,避免了直接在组件中进行状态更改导致的混乱和不可预测性。使用 mutations 可以确保应用遵循单向数据流的原则,即数据的流动是单向的,只能通过特定的方式进行更改。通过使用 mutations,状态的更改是可追踪的。你可以在 mutation 中记录状态的变化,以便在调试和排查问题时更容易追踪状态的变化历史。虽然在某些情况下,直接更改状态可能会更简单和方便,但使用 mutations 有助于提高代码的可维护性、可扩展性和可预测性。原创 2024-04-25 18:05:47 · 193 阅读 · 0 评论 -
promise,手写piomise
【代码】promise。原创 2024-01-17 00:15:00 · 361 阅读 · 0 评论 -
get分页请求
原创 2023-12-14 16:28:51 · 84 阅读 · 0 评论 -
echarts点击事件
时,其指向与外层作用域相同。)或者使用闭包来解决上下文的问题。2、使用普通函数,则需要在事件处理函数内部保存外部的。1、使用箭头函数(箭头函数没有自己的。有这么个需求要点击叶片的时候跳转页面。,所以在箭头函数中使用。原创 2023-11-28 17:58:09 · 268 阅读 · 0 评论 -
element 中文地址
每次都是一通好找原创 2023-11-23 17:23:14 · 554 阅读 · 0 评论 -
wangEditor 富文本编辑
用于 Vue React | wangEditor原创 2023-11-21 15:34:23 · 71 阅读 · 0 评论 -
vue3和react中的ref
react中有useRef,在js中使用的时候是ref.current,在dom元素中是{ref.current}vue3中有ref,在js使用的时候是ref.value,在dom元素中是直接{{ref}}原创 2023-11-20 09:31:31 · 159 阅读 · 0 评论 -
echart柱状图y坐标轴反转问题
给柱状图的配置项添加如下代码。原创 2023-11-16 13:22:46 · 1052 阅读 · 0 评论 -
echarts封装resize函数
在 util/resizeMixin.js。我这里使用了mixins的方法;原创 2023-11-15 19:21:34 · 368 阅读 · 0 评论 -
echarts官网卡?
全网echarts案例资源大总结和echarts的高效使用技巧(细节版) - 掘金原创 2023-11-14 14:25:37 · 104 阅读 · 0 评论 -
class类默认导出,header字段在请求中的位置
如果没有用uni.post那么就是。这是封装好的,没封装的如下。原创 2023-11-08 17:00:09 · 136 阅读 · 0 评论 -
git reset --hard HEAD^为先回退到上一个版本,git push -f是进行强制推送,覆盖远程分支。
是进行强制推送,覆盖远程分支。为先回退到上一个版本,原创 2023-11-06 11:05:21 · 325 阅读 · 0 评论 -
WeakMap 弱引用 不会阻止GC
需要注意的是,由于WeakMap只能使用引用类型作为键,不能迭代和获取大小等操作。并且WeakMap的键是弱引用,一旦没有其他引用指向该key,它将会被垃圾回收掉。这也意味着无法遍历WeakMap中的键值对。如何体现他是个弱引用呢,看下下面的例题,当weakMap换成 new Map()时,输出变化的就只有size值。2. 添加键值对:使用set()方法向WeakMap中添加键值对。5. 删除键值对:使用delete()方法删除指定的键值对。3. 获取值:使用get()方法根据key获取对应的值。原创 2023-10-24 16:59:29 · 117 阅读 · 0 评论 -
LHS RHS
2. RHS代表"Right-hand Side",用于获取变量的值。1. LHS代表"Left-hand Side",用于赋值操作。xmzs说:往内存中去存储值的一个操作 ,赋值的目标,声明(c等于几,b等于几)xmzs说:从内存中取值的一个操作,取值的源头,溯源。xmzs面试题:以下出现了几次LHS和RHS。没有声明a报错:RHS查不到。一共四次RHS,三次LHS。原创 2023-10-19 17:56:18 · 123 阅读 · 0 评论 -
ajax.
XHR XMLHttpRequest 第三方库 axios。fetch 第三方库:umi-request。原创 2023-10-16 01:31:45 · 62 阅读 · 0 评论 -
echarts画电压线
Apache ECharts,一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。第二个示例中的step:设置为start比较好看点,都不是100%的准确。以上的两个示例可以满足需求。普通的折线图无法满足需求。原创 2023-10-12 18:12:15 · 345 阅读 · 0 评论 -
正则和js结合
原创 2023-10-11 17:14:16 · 56 阅读 · 0 评论 -
vxe是一款功能强大的table,有vue2/3版本
当计算上千,上万条数据的和,或者算数平方根时可以使用web worker,来实现复杂,大量的计算,同时也不会造成浏览器的卡顿,暂时只是知道,还没有用过。原创 2023-10-11 11:04:36 · 816 阅读 · 0 评论 -
网络资源,,,
vue3 sass平台开源项目:原创 2023-10-06 23:31:13 · 54 阅读 · 0 评论 -
获取dom元素
很明显没传参数,但是获取到了相应的值。原创 2023-09-28 15:26:15 · 139 阅读 · 0 评论 -
promise
MDNjuejin。原创 2023-09-26 17:51:44 · 124 阅读 · 0 评论 -
vite.config.ts
挑了几个常用的记下笔记,配置别名,proxy跨域,本地服务设置。vite会自动生成vite.config.ts文件。原创 2023-09-26 17:28:34 · 813 阅读 · 0 评论 -
event.stopPropagation()
当点击子按钮的时候会触发子事件,同事也会触发父事件,原创 2023-09-25 16:16:49 · 107 阅读 · 0 评论 -
AOP、FP和OOP
AOP、FP和OOP 是三种不同的编程范式,分别代表面向切面编程(Aspect-Oriented Programming)、函数式编程(Functional Programming)和面向对象编程(Object-Oriented Programming)。它的核心概念是切面(Aspect),切面可以在应用程序的不同部分中重复使用,并在指定的切入点(如方法执行前、后或异常处理时)进行横切逻辑的插入。函数式编程强调函数的不变性、可组合性和引用透明性,并支持高阶函数、柯里化、函数组合和惰性求值等特性。原创 2023-09-22 15:22:32 · 589 阅读 · 0 评论 -
cherry-pick
这样,dev分支的某次提交就会被应用到master分支上。请确保在切换分支和执行cherry-pick命令之前先保存好当前工作区的修改和提交。2. 查看提交历史,找到要提交给master的某次提交的commit hash(假设为 <commit_hash>)原创 2023-09-18 01:21:45 · 258 阅读 · 0 评论 -
Ajax fetch navigator.sendBeacon 三个的区别
使用 fetch,你可以通过传递请求的 URL 和可选的配置对象来发送请求,然后使用 Promise 返回的响应对象来处理服务器返回的数据。fetch API 基于 Promise,并提供了一组方法来进行请求和响应的处理。navigator.sendBeacon 比较适用于发送统计数据、日志数据等,它会把请求放到浏览器的队列中,即使页面已经被关闭,也会尽力发送请求,确保数据的完整性和可靠性。fetch 是现代的网络请求 API,基于 Promise,提供了更简洁易用的方式发送请求和处理响应;原创 2023-09-15 15:07:44 · 1083 阅读 · 0 评论 -
gitIgnore
来忽略整个node_modules文件夹。加上斜杠表示忽略整个文件夹,不加斜杠只会忽略该名称的文件。在前端项目中,gitignore文件中应该使用。原创 2023-09-11 10:54:50 · 53 阅读 · 0 评论 -
document.querySelector
如果想通过类名来选择元素,选择器字符串需要以点号开头,如:document.querySelector('.className')。如果想通过id名称来选择元素,选择器字符串需要以井号开头,如:document.querySelector('#idName')。如果想通过元素名称来选择元素,选择器字符串直接写元素名称即可,如:document.querySelector('div')。document.querySelector()括号里面需要添加的是选择器字符串,可以是类名、元素的id名称或盒子的名称。原创 2023-09-10 02:27:53 · 598 阅读 · 0 评论 -
组件传递请求后的接口,子组件先渲染,父组件后掉接口问题
组件传递请求后的接口,子组件先渲染,父组件后掉接口问题原创 2023-07-19 16:50:59 · 239 阅读 · 0 评论 -
export default function 和export function 有啥区别
语法可以使导入语句更加简洁,而且在一个模块中只能有一个默认导出函数。只能导出一个默认的函数,而且在导入时可以为其指定任意名称,而。可以导出多个具名的函数,并且在导入时必须使用相同的名称。是用于导出一个默认的函数,而。是用于导出一个具名的函数。语法可以导出多个具名的函数。原创 2023-08-29 11:59:21 · 1021 阅读 · 0 评论