- 博客(39)
- 收藏
- 关注
原创 Node.js 中的内置模板path
是 Node.js 中的一个全局变量,它表示当前模块文件所在的目录的绝对路径。__dirname会返回一个字符串,可以把它放到path.resolve()的参数中,而且他是一个全局变量,无需导入可以直接使用,二者结合可以得到正确的绝对路径。将路径解析成一个对象,包含路径的各个部分(root, dir, base, ext, name),网课中没有重点讲,但是我觉得它可以用来传递数据。和数组的join方法相似,它也可以起到拼接作用,它用于将多个路径片段连接起来,并正确地处理路径分隔符。
2025-07-24 20:31:46
85
原创 Axios 响应拦截器
当请求失败时(如网络错误、服务器错误、响应状态码不在 2xx 范围内等),失败回调函数会被触发。你可以在这里对响应数据进行处理,比如统一格式化数据、检查状态码等。你可以用它来统一处理响应数据,进行错误处理,或者对返回的数据做格式化和转换等操作。:在响应拦截器中统一处理 HTTP 错误,比如 404、500 错误,或者处理常见的业务错误。错误,当 token 过期时,你可以自动进行 token 刷新,或者引导用户重新登录。第二个参数:响应失败时的回调函数(用来捕获错误,如网络错误、HTTP 错误等)。
2025-07-23 21:27:19
353
原创 async/await 函数
当他后面跟着promise对象的时候,他会暂停异步代码等待promise执行完然后返回其兑现的值,如果是一个非promise,那么就会把它当作是已经兑现的Promis,正常执行,如果promise被拒绝,返回被拒绝的原因。Promise之所以可以解决回调地狱就是因为promise是个对象,而他的回调函数是附加在promise上的,所以遇到回调地狱问题我们就可以用promise链式调用来解决它,它可以从回调函数的层层包含中跳出来。时,被等待的表达式会立即执行,所有依赖该表达式的值的代码会被暂停,并推送进。
2025-07-22 21:21:11
314
原创 Axios
1.Axios 是一个基于 Promise 的现代化 HTTP 客户端库,适用于浏览器和 Node.js 环境。2.在axios里有几种基础请求方法,在网课学习里面我们使用基础请求方法与现在用的不大相同,在网课中我们一般用以下格式2.1GET 请求这种书写方式使代码更加简便,而且目的更加明了,以后在写代码的时候我也会使用这种方法。而他书写参数的方法和之前的一样,方式一:URL 中直接拼接参数,方式二:通过params对象传递(推荐)。
2025-07-21 21:43:05
207
原创 JavaScript 中的继承
在网课中,老师着重讲解了原型继承,而在javaScript里面还有其他几种不同的继承方式,我们今天在这里拓展一下。
2025-07-19 20:58:49
149
原创 JavaScript 的垃圾回收机制
2.引用计数法:每个对象维护一个引用计数器,记录有多少引用指向它,当他的引用次数为0的时候就清除该变量,而这种方法有个很大的缺点就是无法解决循环引用(就算函数已经执行完,相互引用的变量引用次数仍不为0),会导致内存泄露,现在很少使用这种方法。三色标记法:V8 使用 白、灰、黑 三种颜色标记对象状态:白色:未被访问(初始状态,可能为垃圾),灰色:已被访问,但子对象未被递归标记(待处理),黑色:已被完全标记,所有子对象已检查(确定存活)。老生代(Old Generation):存放存活时间较长的对象,使用。
2025-07-18 22:09:21
302
原创 javaScript中数组常用的函数方法
1.3filter函数筛选函数,它返回一个新的数组,包含通过所提供函数测试的所有元素,如果没有函数通过测试则返回空数组。为了使程序看起来更简洁,在写筛选函数时我们一般用箭头函数,而这个筛选的范围特别打,我们ji可以筛选一个数的大小,也可以筛选字符串长度,也可以筛选一个对象里面的某一个条件。1.2map函数,他和forEach函数唯一不同的地方就是它会返回一个新数组,且新数组和原数组是一一映射的关系,我们在实例中用它来得到需要的数组。2.2 pop函数数组 末尾删除元素,返回被删除的元素。
2025-07-17 21:16:48
227
1
原创 在javaScript里删除节点以及添加节点
在js中创建节点比较常用的只有document.createElement('标签名')这一种,但是将新创建的节点插入目标位置有几种不同的方法如下。在学习中我们只学到了一种删除DOM节点的方法那就是通过元素的父元素来删除该元素,但后面我查阅资料发现删除节点还有其他方法。3.用innerHtml可以删除某元素内的所有子元素,但不删除自身,那就是直接使其的innerHtml =‘’2.使用remove方法,这种方法比较新,可以直接调用,不用找父元素,这种方法较为方便。
2025-07-16 21:15:27
254
原创 JavaScript中关于环境对象的拓展
环境对象指的是函数内的特殊变量this,this指向函数的调用者它代表当前函数的运行环境在平常我们判断this经常用口诀谁调用它,它就指向谁,以下是几种常见情况1. 在全局作用域中,this指向window2.在函数中,他也指向他的调用者,如果是用函数名调用,则相当于window调用该函数,所以this指向window,如果是作为对象的方法调用时指向该对象fn()//指向window`);3. 在构造函数new..,this指向正在 创建的新对象4.在监听事件中,this指向事件源。
2025-07-15 21:01:20
276
原创 力扣454.四数相加Ⅱ
我们通过上面的代码判断,如果出现过,所对应的值‘+1,如果返回NULL说明没有出现过,对应值为1。这样我们就得到了储存着num1num2相加数据的哈希表,我们再与剩下俩个数组相加得到的值对比,如果他们俩相加的相反数在哈希表中存在,便对应nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0再看他对应的次数,即得出答案。这道题给了我们俩个数组,让我们找出。,请你计算有多少个元组。
2025-07-14 21:24:10
259
原创 js的局部变量和全局变量
在今天写轮播图的时候我们需要写一段代码是当鼠标经过轮播图的时候,轮播图停止自动播放,而当鼠标离开轮播图时,轮播图继续自动播放,在这段代码中我一直无法实现这个功能,后来检查代码发现时因为全局变量和局部变量使用不妥,在命名定时器时,我在函数内命名,使其只能在该函数里使用,所以后面的代码无法实现,这个问题也会成为我们写代码时难以注意到的一个小问题。那如果是没有小白点,随机出的数字只在定时器内使用,则我们可以使用const来定义,因为每一次循环都相当于一次新的定义,并不是重新赋值,与常量不冲突。
2025-07-14 21:12:17
252
原创 力扣61.旋转链表
在最近做链表题中我觉得链表题中,应该有以下注意点做题判断有没有特殊情况,比如该题当正整数为0或链表长度为0或1的时候,就无需判断直接返回结果即可,这会简便我们的程序。我们要注意节点的变换和遍历链表的方式,指针的移动,如果这些无法处理好可能会导致死循环。
2025-07-10 21:11:11
197
原创 力扣142.环形链表Ⅱ
给定一个链表的头节点head,返回链表开始入环的第一个节点。如果链表无环,则返回null。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(如果pos是-1,则在该链表中没有环。pos,仅仅是为了标识链表的实际情况。链表。返回索引为 1 的链表节点链表中有一个环,其尾部连接到第二个节点。返回索引为 0 的链表节点链表中有一个环,其尾部连接到第一个节点。返回 null链表中没有环。
2025-06-26 23:31:13
321
原创 面试题02.07.链表相交
给你两个单链表的头节点headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回null。图示两个链表在节点c1开始相交题目数据整个链式结构中不存在环。,函数返回结果后,链表必须。相交节点的值为 8 (注意,如果两个链表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,0,1,8,4,5]。在 A 中,相交节点前有 2 个节点;在 B 中,相交节点前有 3 个节点。
2025-06-25 23:18:59
699
原创 力扣24.俩俩交换链表中的节点
给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。
2025-06-24 22:20:43
147
原创 力扣707.设计链表
你可以选择使用单链表或者双链表,设计并实现自己的链表。val和next。val是当前节点的值,next是指向下一个节点的指针/引用。如果是双向链表,则还需要属性prev以指示链表中的上一个节点。假设链表中的所有节点下标从开始。实现index-1valvalvalindexindexindexindex// 链表变为 1->2->3// 返回 2// 现在,链表变为 1->3// 返回 3getaddAtHeadaddAtTailaddAtIndex2000。
2025-06-23 19:43:04
619
原创 web方向第二次考核题解
在周三的考核中,有如下问题总结。这次考核中我对动画的掌握仍不太熟练,无法准确运用动画做出理想效果,对flex的属性也有混淆,二者有待加强。
2025-06-12 21:16:03
765
原创 力扣904.水果成篮
你正在探访一家农场,农场从左到右种植了一排果树。这些树用一个整数数组 fruits 表示,其中 fruits[i] 是第 i 棵树上的水果 种类。你想要尽可能多地收集水果。然而,农场的主人设定了一些严格的规矩,你必须按照要求采摘水果:你只有 两个 篮子,并且每个篮子只能装 单一类型 的水果。每个篮子能够装的水果总量没有限制。你可以选择任意一棵树开始采摘,你必须从 每棵 树(包括开始采摘的树)上 恰好摘一个水果。采摘的水果应当符合篮子中的水果类型。每采摘一次,你将会向右移动到下一棵树,并继续采摘。
2025-06-10 20:35:20
299
原创 力扣209.长度最小的子数组
给定一个含有 n 个正整数的数组和一个正整数 target。找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0。示例 1:输入:target = 7, nums = [2,3,1,2,4,3]输出:2解释:子数组 [4,3] 是该条件下的长度最小的子数组。示例 2:输入:target = 4, nums = [1,4,4]输出:1。
2025-06-10 16:38:33
175
原创 力扣977.有序数组的平方
给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。示例 1:输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]示例 2:输入:nums = [-7,-3,2,3,11]输出:[4,9,9,49,121]提示:nums 已按 非递减顺序 排序。
2025-06-09 21:34:27
101
原创 力扣26.删除有序数组中的重复项
给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致。然后返回 nums 中唯一元素的个数。考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过:更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。返回 k。
2025-06-09 19:35:50
365
原创 力扣27.移除元素
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。假设 nums 中不等于 val 的元素数量为 k,要通过此题,您需要执行以下操作:更改 nums 数组,使 nums 的前 k 个元素包含不等于 val 的元素。nums 的其余元素和 nums 的大小并不重要。返回 k。用户评测:评测机将使用以下代码测试您的解决方案:// 输入数组// 要移除的值。
2025-06-08 22:18:12
231
原创 力扣34.在排序数组中查找元素的第一个和最后一个位置
给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。
2025-06-08 21:21:51
131
原创 力扣35.搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。
2025-06-08 20:16:50
271
原创 力扣704.二分查找
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。
2025-06-07 14:27:26
301
原创 css样式失效原因,以及怎么设置过渡背景
在制作百度首页时,完成js部分中遇到了display: none 属性失效的问题,查询后发现让display: none属性失效的原因如下提示:以下是本篇文章正文内容,下面案例可供参考在这周的学习过程中,因为display属性的失效,我总结的css样式失效的原因。同时在设置过渡背景的时候,因为样式设置为background-color而导致无法显示,设置背景颜色也有俩种方法,语法相似,但呈现出来的效果大不相同。我们在书写属性时也应更仔细。
2025-06-06 22:23:47
617
原创 力扣11.盛最多水的容器
给定一个长度为 n 的整数数组 height。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。示例 1:输入:[1,8,6,2,5,4,8,3,7]输出:49解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。
2025-06-05 16:29:32
157
原创 每日算法6.5力扣283.移动零
这道题目要求我们把无序数组中的零移到数组的末尾。给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。
2025-06-05 15:40:50
102
原创 每日算法6.4力扣128.最长连续序列
在该题里我们会拿到一个未排序的整数数组,我们要找到其中数字连续的最长序列长度给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。示例 1:输入:nums = [100,4,200,1,3,2]输出:4解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。
2025-06-04 16:04:02
305
原创 每日算法6.3 力扣49.字母异位词分组
题目中会给出一个字符串数组,需要找出数组中的字母异位词结合在一起,并以要求方式输出。给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。字母异位词 是由重新排列源单词的所有字母得到的一个新单词。示例 1:输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"]输出: [["bat"],["nat","tan"],["ate","eat","tea"]]示例 2:输入: strs = [""]
2025-06-03 17:02:14
299
原创 力扣1在一个指定数组中找到俩个和为目标值的元素的下标
给定一个整数数组nums和一个整数目标值target,请你在该数组中找出target的那整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。你可以按任意顺序返回答案。[0,1]因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。[1,2][0,1]
2025-06-02 17:45:15
176
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人