自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 文本溢出省略号

【代码】文本溢出省略号。

2024-06-06 15:35:23 85

原创 A/B机器正常连接后, B机器突然重启,后A是什么状况

此时能够改变现状的只有A,A主动发任何的消息给B,B察觉这次通信是异常的,会要求重置连接,因此发送RST给A,A收到之后会重置自己该tcp连接的各种时间。那么,当某一方突然挂机,另一方是无法知道对方挂机的,因为对方又没给自己FIN断开,自己如果没有主动联系对方,那么这个连接就一直保持,直到操作系统的那个时间兜底来临。所以在B挂机重启的一端时间内,A还一位这个连接保持,所以它会一直存在,知道B重启自然进入到listen状态,这个时候,B是不知道自己和A之前还有连接的。

2024-06-04 16:16:20 271

原创 手写new操作

2.新对象obj的原型指向Constructor.prototype(2,3两步可以通过Object.createConstructor.prototype)3.执行构造函数函数体的内容。1创建 新对象obj。

2024-04-09 16:42:16 73

原创 实现继承方法

1.原型属性和⽅法的继承另㇐个是构造器的继承。

2024-04-09 16:24:24 70

原创 手写reduce

【代码】手写reduce。

2024-03-30 22:50:27 75 1

原创 react面试题-持续更新

1.redux

2024-03-30 22:46:36 82 1

原创 Vue 二次封装组件的技巧及要点

在开发 Vue 项目中我们一般使用第三方 UI 组件库进行开发,如, 但是这些组件库提供的组件并不一定满足我们的需求,这时我们可以通过对组件库的组件进行二次封装,来满足我们特殊的需求。对于封装组件有一个大原则就是我们应该尽量保持原有组件的接口,除了我们需要封装的功能外,我们不应该改变原有组件的接口,即保持原有组件提供的接口(属性、方法、事件、插槽)不变。

2024-03-23 21:07:25 1568

原创 promise实现方法

【代码】promise实现方法。

2024-03-13 20:31:45 125

原创 webpack总结

对此你可以通过插件的filename属性,告诉插件输出的 CSS 文件名称是通过[name]_[contenthash:8].css字符串模版生成的,里面的[name]代表文件名称,[contenthash:8]代表根据文件内容算出的8位 hash 值, 还有很多配置选项可以在ExtractTextPlugin的主页上查到。浏览器在用户访问页面的时候,为了加快加载速度,会对用户访问的静态资源进行存储,但是每一次代码升级或者更新,都需要浏览器去下载新的代码,最方便和最简单的更新方式就是引入新的文件名称。

2024-03-13 20:21:17 351

原创 15.vue2与vue3双向数据绑定的区别

vue2:使用Object.defineProperty对象以及对象属性的劫持+发布订阅模式,只要数据发生变化直接通知变化 并驱动视图更新。上述代码表示当访问proxy的属性时,进行拦截判断,该属性是否是目标对象的属性,如果是那么就将其值返回出来,否则就返回0。Proxy 对象用于定义基本操作的自定义行为(如属性查找、赋值、枚举、函数调用等)vue3:Vue3.0中的响应式采用了ES6中的Proxy方法。当对proxy上的属性进行重写时,将重写的该属性赋值为666。

2024-03-11 17:04:06 119 1

原创 vue面试题-持续更新

父beforeCreated ->父created ->父beforeMounted ->子beforeCreated ->子created ->子beforeMounted ->子mounted -> 父mounted。父beforeDestroy->子beforeDestroy->子destroyed->父destroyed。在这个阶段,vue实例的数据对象data已经有了,但el还没有初始化。父beforeUpdate->子beforeUpdate->子updated->父updated。

2024-03-10 14:47:21 436 1

原创 css上下左右居中

将容器元素设置为表格单元格。2. 通过transform。1.第一种通过flex实现。3.知道宽高的情况下。

2024-03-08 17:33:04 228 1

原创 前端基本面试概况

sessionStorage顾名思义,是在当前会话下有效,引入了一个“浏览器窗口的概念”,sessionStorage是在同源的同窗口中,始终存在的数据,只要浏览器不关闭,即使是刷新或者进入同源的另一个页面,数据仍在。第一个:串行的文件传输。现代浏览器大多都是通过队列机制来批量更新布局,浏览器会把修改操作放在队列中,至少一个浏览器刷新(即16.6ms)才会清空队列,但当你获取布局信息的时候,队列中可能有会影响这些属性或方法返回值的操作,即使没有,浏览器也会强制清空队列,触发回流与重绘来确保返回正确的值。

2024-03-08 17:19:19 1099 1

原创 实现深拷贝的几种方式

但是属性类型为undefined、null、Date、RegExp、function时,使用该方式进行深拷贝会出问题。浅拷贝:相反不在堆内存中重新开辟空间,仅仅复制栈内存中的引用地址,本质上依然指向的同一块存储空间。console.log(newObj.numberParams) // 输出1。这种方式为项目中最安全且最常用的深拷贝方法俗称万能拷贝,适合于各种数据结构。obj.numberParams = 100 // 更改原对象的属性。深拷贝:在堆内存中开辟一个存储空间来存储一个一模一样的克隆对象。

2024-03-07 13:52:11 327

原创 原生JS手写实现call方法

在本篇文章中,我们手写实现了JavaScript中的 call 方法,并讨论了如何使用它来调用函数。假设我们有一个函数 foo,并且我们想要使用 call 方法来调用它,同时将 this 绑定到一个新的上下文对象 context 上,同时还要传入参数 arg1, arg2, ...。需要注意的是,虽然手写实现 call 方法可以帮助我们更好地理解其底层实现原理,但在实际开发中,建议使用JavaScript内置的 call 方法,因为它已经被广泛测试和优化,并具有更好的性能和可靠性。// 输出 'Toms'

2024-03-07 10:53:48 203

空空如也

空空如也

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

TA关注的人

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