- 博客(104)
- 收藏
- 关注
原创 前端面试练习24.3.16
在样式初始化时设置为0,是为了确保网页在不同浏览器和设备上的显示效果更加统一,并且减少浏览器默认样式对页面布局的影响。:不同的浏览器对于 HTML 元素的默认样式可能存在差异,如<body><ul><li>等元素在不同浏览器上的默认margin和padding可能不同。为了确保页面在不同浏览器上的显示效果一致,通常会将这些默认样式重置为0。:通过将margin和padding设置为0,可以更精确地控制页面元素的布局,避免因为浏览器默认样式的影响导致布局偏差。这对于实现复杂的页面布局和样式设计至关重要。
2024-03-16 17:49:40 847
原创 前端面试练习24.3.15
键类型Map的键可以是任意类型的值,而WeakMap的键必须是对象。引用强度Map中的键值对是强引用的,而WeakMap中的键值对是弱引用的。自动回收Map中的键值对不会被自动回收,而WeakMap中的键值对会在键不再被引用时自动删除并被回收。功能Map提供了遍历方法和获取键值对数量的属性,而WeakMap没有提供这些功能。综上所述,Map和WeakMap在使用场景和功能上有所不同,需要根据具体的需求选择合适的数据结构。通常情况下,如果需要使用任意类型的键或者需要遍历键值对,可以使用Map;
2024-03-15 20:35:45 1041
原创 一些性能优化的东西
1. tree shaking中文(摇树),webpack构建优化中重要一环。摇树用于清除我们项目中的一些无用代码,它依赖于ES中的模块语法。比如日常使用lodash的时候import _ from 'lodash'如果如上引用lodash库,在构建包的时候是会把整个lodash包打入到我们的bundle包中的。import _isEmpty from 'lodash/isEmpty';如果如上引用lodash库,在构建包的时候只会把isEmpty这个方法抽离出来再打入
2024-03-12 13:47:49 1317
原创 字符串匹配算法:暴力匹配、KMP 算法、Boyer-Moore 算法、Rabin-Karp 算法
字符串匹配算法是在一个字符串(称为文本)中查找另一个字符串(称为模式)出现的位置或者是否存在的算法。常见的字符串匹配算法包括暴力匹配、KMP算法、Boyer-Moore算法和Rabin-Karp算法。
2024-03-11 14:25:42 1358
原创 图的搜索算法:Dijkstra 算法、Bellman-Ford 算法、Floyd-Warshall 算法
图的搜索算法:Dijkstra 算法、Bellman-Ford 算法、Floyd-Warshall 算法这里也比较麻,有基础的看一看😭
2024-03-11 13:58:33 869
原创 分治算法相关
分治算法(Divide and Conquer)是一种解决问题的算法思想,它将一个大问题分解成若干个规模较小的子问题,然后分别解决每个子问题,最后将子问题的解合并成原问题的解。
2024-03-11 13:04:53 433
原创 贪心算法相关
贪心算法是一种求解最优化问题的算法思想,其核心思想是每一步都选择当前状态下的最优解,以期望能够得到全局最优解。贪心算法常用于满足贪心选择性质的问题,即每一步的最优解可以导致最终的最优解。
2024-03-11 12:54:49 1077
原创 递归和回溯算法使用
递归是指在函数定义中调用自身的方法。在递归过程中,每次函数调用都会将问题分解为规模更小的子问题,直到达到递归的终止条件。递归算法通常包括两个要素:基本情况(终止条件)和递归情况(递归调用)。递归算法常用于解决树、图、排列组合等问题。
2024-03-11 12:42:32 313
原创 基本搜索/查找算法
深度优先搜索也是一种用于图和树等数据结构中的搜索算法,它从起始顶点开始,尽可能深地搜索图的路径,直到找到目标顶点或者到达图的最大深度。在搜索过程中,如果碰到已经访问过的顶点或者搜索到了叶子节点,则回溯到上一个顶点进行继续搜索。广度优先搜索是一种用于图和树等数据结构中的搜索算法,它从起始顶点开始,逐层扩展搜索,先访问起始顶点的所有邻接顶点,然后再逐层访问它们的邻接顶点,直到找到目标顶点或遍历完整个图或树。线性搜索是一种简单直观的搜索算法,它逐个遍历数组中的元素,直到找到目标元素或遍历完整个数组。
2024-03-11 11:41:46 281
原创 基本排序算法
选择排序是一种简单直观的排序算法,它首先在未排序的序列中找到最小(或最大)元素,然后将其放到序列的起始位置,接着从剩余的未排序元素中继续寻找最小(或最大)元素,然后放到已排序序列的末尾。堆排序利用了堆这种数据结构的特性,将待排序的列表构建成一个最大堆或最小堆,然后将堆顶元素与堆的最后一个元素交换,然后调整堆,使得剩余元素仍构成一个最大堆或最小堆,依次类推,直到所有元素都排序完毕。归并排序是一种分治算法,它将待排序的列表分为两个子序列,分别对两个子序列进行递归排序,然后将两个有序子序列合并成一个有序序列。
2024-03-11 11:25:35 383
原创 前端面试实战补丁24.3.7
在JavaScript中,通常将那些对于类的每个实例都是独特的且会随着实例化而变化的属性定义为实例属性,而那些对于类的所有实例都是共享的且在整个类中保持不变的属性定义为原型属性。原型属性原型属性是定义在类的原型上的属性,它们被所有该类型的实例共享。原型属性通常用于存储方法和静态属性,因为它们对于所有实例来说是相同的,且不会随着实例化而变化。例如,类的原型上的方法(如构造函数中定义的方法)和静态属性(通过在类本身上直接定义的属性)通常是原型属性。实例属性。
2024-03-07 20:07:18 701
原创 前端面试练习24.3.6
向大佬求助!!!!有点懵了,connect1只是单纯的信息收发没做处理,connect2进行了一些处理,但是部分的功能逻辑有点乱,但是还是可以正常运行的
2024-03-06 17:36:50 370
原创 前端多并发请求粗略代码
这段代码的主要目的是并发地发起多个请求,并将请求的结果存储在一个对象中,最后返回一个 Promise 对象,该对象将在所有请求完成后被调用,并返回最终的结果。代码实现了一个并发请求的功能。它使用了 JavaScript 的异步操作和 Promise 对象来处理并发请求。大致思路全在注释里了。
2024-03-04 19:57:40 363
原创 前端面试练习24.3.4
首先要明白一点:原型存在于对象中的。Diff(差异化算法)是一种用于比较两个树形结构的算法,常用于前端框架中用于更新视图。在 Vue、React 等现代前端框架中,Diff 算法被用于比较虚拟 DOM 树的差异,从而高效地更新真实 DOM。Diff 算法的基本原理是:通过比较两棵树的结构差异,找出最小的更新操作,然后将这些更新操作应用到真实 DOM 上,以实现视图的更新。Diff 算法的目的是尽量减少更新操作的数量,从而提高渲染性能。
2024-03-04 19:31:00 1479
原创 前端面试练习24.3.1
进程:是程序的一次执行过程,拥有独立的内存空间线程:是进程中的一个执行单元,共享所属进程的内存空间和系统资源src部分使用默认图片占位,然后等待接口数据请求到或是图片到达视口区域时,通过js代码将src替换假如一次接口只返回十条信息,那么,就通过代码进行滚动条的检测,当滚动条到达页面底部时,新将page+1,然后发送请求,然后每次到达底部都重新发送请求获取数据,以此达到滚动条的懒加载类似图片懒加载的原理,可以将视频和音频的 属性设置为占位符,当它们进入视窗范围时,再动态加载真实的媒体资源。重绘:指的是页面
2024-03-01 20:23:24 885
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人