自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 Node.js处理高并发请求

Node.js 是基于事件驱动的、非阻塞 I/O 模型的平台,利用事件循环机制和回调函数可以有效处理大量并发请求。

2024-03-29 19:14:19 133 1

原创 手撕代码——getUrlKey(url,key)

【代码】手撕代码——getUrlKey(url,key)

2024-03-27 19:10:33 131

原创 手撕代码——防抖函数和节流函数

【代码】手撕代码——防抖函数和节流函数。

2024-03-26 17:05:24 91

原创 手撕代码——call,apply,bind

【代码】手撕代码——call,apply,bind。

2024-03-26 13:13:12 80

原创 手撕代码——Promise.all方法

【代码】手撕代码——Promise.all方法。

2024-03-26 11:16:01 83

原创 手撕代码——函数柯里化

函数柯里化的定义是将一个多参数的函数转化为一系列使用单一参数的函数。

2024-03-26 11:00:57 117

原创 手撕代码——reduce函数

【代码】手撕代码——reduce函数。

2024-03-26 10:40:54 407

原创 手撕代码——深拷贝函数DeepClone

【代码】手撕代码——深拷贝函数DeepClone。

2024-03-25 22:16:33 115

原创 手撕代码——数组扁平化flat

官方的flat()中是可以传递参数的。下面将对上面个的代码进行更正。将高微的数组转化为一维数组。

2024-03-25 22:05:27 79

原创 手撕代码——instanceof

此外,这个实现也没有考虑一些更复杂的情况,比如对象可能被冻结或者密封,或者构造函数的。属性是否出现在对象的原型链中的任何位置。如果出现在原型链中,则返回。是 JavaScript 中的一个运算符,用于检测构造函数的。在一些环境或配置中可能是不可用的。

2024-03-25 21:35:03 93

原创 框架设计——错误处理

但是这总处理方法仍然存在问题,那就是对于错误的处理并不能动态的去设置(如上述代码中已经确定了对于错误的处理就是打印出错误信息),因此还需向用户暴露出一个设置错误处理的函数。首先,一个好的框架必须要有一个功能强大的错误处理函数,如果每次都需要用户手动的进行try和catch的话会极为不便。这样的话对于错误的处理是不是就更加灵活了呢,嘻嘻。于是我们便可以设计出如下的包装后的错误处理函数。

2024-03-25 21:19:39 160

原创 手写promise

【代码】手写promise。

2024-03-03 19:05:32 387

原创 前端实现大文件的分片上传(含代码)

函数是一个回调函数,当XMLHttpRequest完成时会被执行。它会在从服务器接收到响应后触发。因此会先执行后面的代码,当xhr.send(formData)完成之后才会触发回调函数。将代码就行分片,具体的实现为利用file对象的slice方法将文件进行分片,并且分片成Blob格式,上传完成之后在去组合分片就好了。对象,用于将表单数据构建为键值对的形式,以便在HTTP请求中传输数据。被用来构建要发送给服务器的数据。实例中添加新的键值对数据。

2024-03-03 18:05:03 403

原创 从源码看nextTick的原理以及触发时机

温馨提示:在看本内容之前最好已经知道vue双向绑定原理,大概了解观察者Watcher的作用是什么,如果不知道可以观看我的关于vue双向绑定原理的文章概念:nextTick是等待下一次DOM更新刷新的工具方法。

2024-03-02 13:46:04 950

原创 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 365

原创 手写实现vue的双向绑定

1.index.html部分的代码。2.vue.js的代码。

2024-03-02 12:03:40 438

原创 事件循环面试题(包含async、await、promise)

另外在此之前要先弄清楚await在事件循环中有什么作用(promise相对简单这里不做过多解释):当await完成后它会将后面的代码推入到微队列中,如果后面没有代码就会将 “xx函数完成”这个事件推入到微队列(这个函数就是await所在的函数)。本次内容将会有两个题目,会给出代码、结果、过程。要将这三个题目对比来看,找到其中的不同之处,这样会更有利于理解相应的知识点。这里可能不太好理解,请结合代码进行思考。

2024-03-01 11:21:10 434 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 29

原创 前端面试准备(Day4)

1)promise是为解决异步处理回调金字塔问题而产生的2)两个特点:Promise状态不受外界影响,(pending,fulfilled,rejuected);Promise状态一旦改变,就不会再变3)三个缺点:1.无法取消Promise,一旦新建它就会立即执行,无法中途取消;2.如果不设置回调函数,Promise内部抛出的错误,不会反映到外部3.当处于pending状态时,无法得知目前进展到哪一个阶段,是刚刚开始还是即将完成4)Promise在哪存放成功回调序列和失败回调序列?

2023-10-16 20:13:26 39 1

原创 前端面试准备(Day3)

3)this的指向不同:在普通函数中,this总是指向调用它的对象,如果用作构造函数,this指向创建的对象实例。箭头函数中的this是静态的,this的指向永远是声明时所在作用域下的this的值,它并没有自己的this,call apply bind也没有办法改变this的指向。组合了构造继承和原型继承两种方法,一方面在子类的构造函数中通过call)函数调用父类的构造函数,将父类的实例的属性和函数绑定到子类的this中,另一方面,通过改变子类的prototype属性,继承父类的原型对象上的属性和函数。

2023-10-15 09:59:40 28 1

原创 前端面试准备(Day2)

前端面试

2023-10-13 10:27:06 31

原创 前端面试准备(Day1)

前端面试html+css部分

2023-10-12 20:53:51 27 1

原创 防抖和节流的定义与实现

什么是防抖和节流?如何用JavaScript代码实现防抖和节流

2023-04-20 20:55:59 71

原创 JavaScript实现简单拖拽案例

JavaScript实现简单拖拽案例

2023-04-20 17:11:53 34

原创 JavaScript实现轮播图的优化版本

优化内容:代码看起来更加简洁,将利用左右按钮的选择图片和利用数字下标选择图片结合了起来。

2023-04-19 19:06:21 48

原创 JavaScript实现基础轮播图

2.鼠标移动到选项上,数字选项的背景图片变为粉色,并且图片会变换到相应的图片。功能:1.点击两侧的箭头,图片会进行顺序切换。

2023-04-18 22:04:12 29 1

原创 JavaScript 将虚拟节点数据,具象化成实际的标签,并在页面中显示出来

要求:给了一个虚拟的数据(是一个对象)里面记录了这个页面中的标签,以及各个标签的属性和包含的内容。通过给定的虚拟节点数据,利用js让其在页面上显示出来。

2023-04-16 17:48:44 95 1

原创 JavaScript用日期对象Date,根据需求格式化日期

【代码】JavaScript用日期对象Date,根据需求格式化日期。

2023-04-16 13:51:04 66 1

原创 用JavaScript实现冒泡排序、选择排序、插入排序

基本原理:它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。基本原理:冒泡排序的基本原理是两两比较待排序数据的大小 ,当两个数据的次序不满足顺序条件时即进行交换,反之,则保持不变,这样每次最小(或最大)的结点就像气泡一样浮到序列的最前位置。基本原理:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的开头。以此类推,直到全部待排序的数据元素的个数为零。

2023-04-16 13:18:20 35 1

vue2+node+mysql商城实战项目

一个适合新手练习vue的项目,其中的内容十分丰富

2023-10-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除