合集-有意思的
摘要:``` //使用递归的方式实现数组、对象的深拷贝 export function deepClone (obj) { let objClone = Array.isArray(obj) ? [] : {}; if (obj && typeof obj "object") { for (var key
阅读全文
摘要:优化一下之前 点击查看代码 ``` function getUrlParameters(url) { const params = {}; const queryString = url.split('?')[1]; if (queryString) { const paramPairs = que
阅读全文
摘要:点击查看代码 ``` 启用 禁用 展开/折叠 全选/全不选 父子(联动/不联动) 取消 确认 ```
阅读全文
摘要:在Vue 3中,与Vue 2相比,有一些改进和优化的diff算法。 1.静态模板提升(Static Template Hoisting):Vue 3使用了基于模板的静态分析技术,可以在编译阶段将静态的模板部分提升为常量,从而减少运行时的diff和渲染开销。 2.静态标记(Static Marking
阅读全文
摘要:
阅读全文
摘要:渲染引擎首先通过网络获得所请求文档的内容,通常以8K分块的方式完成。 下面是渲染引擎在取得内容之后的基本流程: 1.解析html为dom树,解析css为cssom。渲染引擎开始解析html,并将标签转化为内容树中的dom节点。 2. 把dom和cssom结合起来生成渲染树(render)。接着,它解
阅读全文
摘要:Object.entries() 方法返回一个给定对象自身可枚举属性的键值对数组。 其排列与使用 for...in 循环遍历该对象时返回的顺序一致(区别在于 for-in 循环还会枚举原型链中的属性)。 语法 Object.entries(obj) 参数 obj:可以返回其可枚举属性的键值对的对象。
阅读全文
摘要:https://blog.csdn.net/chenzhizhuo/article/details/101291652 这个大佬写的很细,强烈推荐
阅读全文
摘要:``` import { Loading } from 'element-ui' let loadingCount = 0 let loading const startLoading = () => { loading = Loading.service({ lock: true, text: '
阅读全文
摘要:## 性能代价和获得的用户体验收益不成正比 ```` 先从技术方面讲的话,无非就是数组每个下标都要添加监听器, 无疑会增加内存消耗, 而数组的sort、splice、reverse、shift、unshift等都会触发大量的数组子项的下标更改和变动, 从而触发大量getter和setter, 这在数
阅读全文
摘要:问题:表单验证正则匹配数字,但输入汉字仍然通过 原因:.number会将input里的值用parseFloat()转化,这样用正则匹配数字后,输入的即使是:123四五六;也不会报错,因为123四五六被转换成了123 解决办法:将.number去除即可 除了.number修饰符外,还有 .lazy 、
阅读全文
摘要:电梯导航css 前端的算法https://visualgo.net/zh img和video的裁剪 数据脱敏 图片不遮挡图像 element+导航栏 绘制svg动态图标 加一个hover动画时间 backface-visibility隐藏盒子背面
阅读全文
摘要:js手写一个call /** * 手写一个call方法 * 函数名字为myCall * symbol优化 */ let obj = { name: '白衣', age: 3, } function getYaer (name, age) { // console.log('函数内的this',thi
阅读全文
摘要:js手写一个apply /** * 手写一个apply方法 * 函数名字为 myApply * symbol优化 */ Function.prototype.myApply = function (targetObj, args) { // symbol优化 let key = Symbol('ke
阅读全文
摘要:手写一个 bind 方法 /** * 手写一个 bind 方法 * 函数名字为 myBind */ Function.prototype.myBind = function (targetObj, ...args) { return (...argus) => this.call(targetObj
阅读全文
摘要:说明 构造函数继承实现属性继承 以父类原型纯净对象 改变constructor的指向(如果不改变就会指向父类,要想实现继承要指向子类) create的第二个参数会覆盖掉第一个参数中的相同数据
阅读全文
摘要:点击查看代码 对于为什么要传入一个函数来更新状态,是为了确保在更新状态之前,使用最新的状态值进行计算。 让我解释一下。在React中,当我们调用setXXX钩子来更新状态时,React并不会立即更新状态值。相反,它将更新请求加入到一个队列中,并在稍后的时间点批量处理这些更新请求。这样做是为了优化性能
阅读全文
摘要:函数柯里化 function setSumMark (length) { let arr1 = [] function myCurrying (...argus) { arr1.push(...argus) if (arr1.length length) { let res = arr1.slice
阅读全文
摘要:点击查看代码 axios请求中断_下载中断和下载进度 <script setup lang="ts"> import axios from 'axios' import { ref } from 'vue' let abort: AbortController const progress = re
阅读全文