- 博客(31)
- 收藏
- 关注
原创 git基本操作
场景:分支feature/slot分支上的代码想要合并到develop分支上,但是有冲突出现。2. 将本地develop分支的代码合并到本地feature/slot分支。1. 本地develop分支拉取远程最新develop分支的代码。3. 将原来分支上的一个commit 应用到temp分支。2. 在本地新建一个临时分支。1. 先删除远程的分支。4.删除本地的原分支。5. 本地分支重命名。
2024-08-09 11:41:54
667
原创 Node.js处理高并发请求
Node.js 是基于事件驱动的、非阻塞 I/O 模型的平台,利用事件循环机制和回调函数可以有效处理大量并发请求。
2024-03-29 19:14:19
298
1
原创 手撕代码——instanceof
此外,这个实现也没有考虑一些更复杂的情况,比如对象可能被冻结或者密封,或者构造函数的。属性是否出现在对象的原型链中的任何位置。如果出现在原型链中,则返回。是 JavaScript 中的一个运算符,用于检测构造函数的。在一些环境或配置中可能是不可用的。
2024-03-25 21:35:03
134
原创 框架设计——错误处理
但是这总处理方法仍然存在问题,那就是对于错误的处理并不能动态的去设置(如上述代码中已经确定了对于错误的处理就是打印出错误信息),因此还需向用户暴露出一个设置错误处理的函数。首先,一个好的框架必须要有一个功能强大的错误处理函数,如果每次都需要用户手动的进行try和catch的话会极为不便。这样的话对于错误的处理是不是就更加灵活了呢,嘻嘻。于是我们便可以设计出如下的包装后的错误处理函数。
2024-03-25 21:19:39
228
原创 前端实现大文件的分片上传(含代码)
函数是一个回调函数,当XMLHttpRequest完成时会被执行。它会在从服务器接收到响应后触发。因此会先执行后面的代码,当xhr.send(formData)完成之后才会触发回调函数。将代码就行分片,具体的实现为利用file对象的slice方法将文件进行分片,并且分片成Blob格式,上传完成之后在去组合分片就好了。对象,用于将表单数据构建为键值对的形式,以便在HTTP请求中传输数据。被用来构建要发送给服务器的数据。实例中添加新的键值对数据。
2024-03-03 18:05:03
524
原创 从源码看nextTick的原理以及触发时机
温馨提示:在看本内容之前最好已经知道vue双向绑定原理,大概了解观察者Watcher的作用是什么,如果不知道可以观看我的关于vue双向绑定原理的文章概念:nextTick是等待下一次DOM更新刷新的工具方法。
2024-03-02 13:46:04
1076
原创 Vue2的diff算法的触发时机和具体过程
之后当数据发生变化的时候会重新编译生成一个新的虚拟DOM(第一段中提到的,vm._update(vm._render()),hydrating),又会执行render()生成虚拟DOM),之后两个新旧虚拟DOM就会进行比较。render()函数中会调用Vnode函数来生成虚拟DOM。过程:Patch() -> patchVnode() -> updateChildren() -> pathVnode() -> updateChildren().....二、diff算法的触发过程。
2024-03-02 12:24:36
451
原创 事件循环面试题(包含async、await、promise)
另外在此之前要先弄清楚await在事件循环中有什么作用(promise相对简单这里不做过多解释):当await完成后它会将后面的代码推入到微队列中,如果后面没有代码就会将 “xx函数完成”这个事件推入到微队列(这个函数就是await所在的函数)。本次内容将会有两个题目,会给出代码、结果、过程。要将这三个题目对比来看,找到其中的不同之处,这样会更有利于理解相应的知识点。这里可能不太好理解,请结合代码进行思考。
2024-03-01 11:21:10
708
1
原创 前端面试准备(Day5)
Vuex是一个专门为vue.js设计的集中式状态管理架构Vuex的五个核心,gette:stater,mutations,actions,module1)state:定义我们所需要管理的数组、对象、字符串等等2)getter:可以对state中的成员加工后传递给外界3)mutations:mutations是操作state数据的方法的集合,比如对该数据的修改、增加、删除等等。4)action :由于直接在mutation方法中进行异步操作,将会引起数据失效。
2023-10-17 16:57:23
61
原创 前端面试准备(Day4)
1)promise是为解决异步处理回调金字塔问题而产生的2)两个特点:Promise状态不受外界影响,(pending,fulfilled,rejuected);Promise状态一旦改变,就不会再变3)三个缺点:1.无法取消Promise,一旦新建它就会立即执行,无法中途取消;2.如果不设置回调函数,Promise内部抛出的错误,不会反映到外部3.当处于pending状态时,无法得知目前进展到哪一个阶段,是刚刚开始还是即将完成4)Promise在哪存放成功回调序列和失败回调序列?
2023-10-16 20:13:26
93
1
原创 前端面试准备(Day3)
3)this的指向不同:在普通函数中,this总是指向调用它的对象,如果用作构造函数,this指向创建的对象实例。箭头函数中的this是静态的,this的指向永远是声明时所在作用域下的this的值,它并没有自己的this,call apply bind也没有办法改变this的指向。组合了构造继承和原型继承两种方法,一方面在子类的构造函数中通过call)函数调用父类的构造函数,将父类的实例的属性和函数绑定到子类的this中,另一方面,通过改变子类的prototype属性,继承父类的原型对象上的属性和函数。
2023-10-15 09:59:40
56
1
原创 JavaScript实现基础轮播图
2.鼠标移动到选项上,数字选项的背景图片变为粉色,并且图片会变换到相应的图片。功能:1.点击两侧的箭头,图片会进行顺序切换。
2023-04-18 22:04:12
46
1
原创 JavaScript 将虚拟节点数据,具象化成实际的标签,并在页面中显示出来
要求:给了一个虚拟的数据(是一个对象)里面记录了这个页面中的标签,以及各个标签的属性和包含的内容。通过给定的虚拟节点数据,利用js让其在页面上显示出来。
2023-04-16 17:48:44
137
1
原创 用JavaScript实现冒泡排序、选择排序、插入排序
基本原理:它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。基本原理:冒泡排序的基本原理是两两比较待排序数据的大小 ,当两个数据的次序不满足顺序条件时即进行交换,反之,则保持不变,这样每次最小(或最大)的结点就像气泡一样浮到序列的最前位置。基本原理:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的开头。以此类推,直到全部待排序的数据元素的个数为零。
2023-04-16 13:18:20
55
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人