自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 如何提取对象数组的公共元素

数组: var arr = [{ a: 1 }, { a: 2 }, { a: 3 }, { a: 2 }, { a: 3 } ]; 结果: [{a: 2}, {a: 3}] 第一种: function findCommon (arr) { const result = []; const obj = {}; arr.forEach(item => { if (!obj[item.a]) { obj[item.a] = tru

2022-02-26 21:31:17 287

原创 数组降维的方法

1.数组字符串化(适合纯数组,解析出的值都变成字符串形式) function test(arr) { const stringArr = String(arr); return stringArr.split(','); } let arr = [[222, 333, 444], [55, 66, [77]]] test(arr) //["222", "333", "444", "55", "66", "77"] 2.Array.prototype.flat function t

2021-09-12 17:11:34 247

原创 如何实现百分比宽度的九宫格?

第一种方法: flex布局 布局: <div class="square"> <div class="square-inner"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div>

2021-09-05 15:50:01 193

原创 前端面试题

目录 1.浏览器输入URL后发生了什么? 2.http 3.深拷贝和浅拷贝 4.原型与原型链 1.浏览器输入URL后发生了什么? 1:读取DNS缓存,如果DNS缓存中找到IP且在有效期内,就跳过查找IP步骤,直接访问该IP地址。 2:未找到IP,通过DNS将域名解析成IP。 3:TCP的3次握手 第一次握手:客户端发送syn包到服务器 第二次握手:服务器收到SYN包必须确认客户的SYN包,然后再发送给客户端SYN+ACK包 第三次握手:客户端收到SYN+ACK包,然后

2021-07-26 17:35:27 97

原创 react组件通信方式

react组件的通信方式? 父组件与子组件之间的通信。 父组件通过props向子组件传递数据 //子组件 class Child =(props) => { return <div>{props.name}</div> } //父组件 class parent = () => { <Child name="test" /> } 子组件与父组件之间的通信。 子组件通过props+回调函数向父组件传递数据。 //子组.

2021-05-22 21:49:48 90

原创 promise的特性,优缺点,动手实现promise

promise的特性 1.对象的状态不受外界影响。promise对象代表一个异步操作,有3种状态: pending(初始状态),fulfilled(成功状态),rejected(失败状态)。只有异步操作的结果才能决定当前的状态,任何其它操作都不能改变这个状态。 2.一旦状态改变就不会再变,任何时候都可以得到这个结果。promise状态的改变只有两种情况: pending 到 fulfillted, pending 到 rejected。 promise优缺点 优点:有了promise对象,就可以把异

2021-05-18 21:53:33 1307

原创 实现链式调用

链式调用函数的核心是返回实例本身。 例如: //示例1 class Person { weight() { console.log('我的体重是45kg'); return this; }, age() { console.log('我的年龄是18'); return this; }, height(){ console.log('我的身高是168厘米'); retu

2021-05-17 22:47:37 125

原创 css伪类与伪元素的区别

1.伪类是什么? css伪类用于向某选择器添加特殊效果。 常见的伪类有: :active 向被激活的元素添加样式。 :focus 向拥有键盘输入焦点的元素添加样式。 :hover 当鼠标悬停在元素上访时,给该元素添加的样式。 :link 向未被访问的链接添加样式。 :visited 向已被访问的链接添加样式。 :frist-child 向元素的第一个子元素添加样式。 :frinst-line 向元素的首行添加样式。 :before 向元素之前添加内容。 :after 向元素之后添加内.

2021-05-13 22:03:26 85

原创 什么是闭包,原理,优缺点以及应用场景

1.什么是闭包? 闭包是有权访问另一个函数作用域中的变量的函数。创建闭包的常见方式,就是在一个函数内部创建另一个函数。使用闭包时,内部函数可以访问外部函数中的变量,因为内部函数作用域链中 包括外部函数的作用域。 2.闭包的原理 外部函数调用时,会创建相应的作用域链,函数执行完毕,其作用域链销毁,内部函数的作用域链仍然在引用这个活动对象,内部函数将外部函数的活动对象加到自己的作用链中,只有内部函数被销毁后,活动对象才会被销毁。 3.闭包优缺点 缺点:占内存,使用不当,会导致内存泄漏...

2021-05-13 20:57:24 1530 1

空空如也

空空如也

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

TA关注的人

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