自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 js 深浅拷贝

在实际开发中,深拷贝通常比浅拷贝更安全,因为它能够保证独立性,避免了对象之间的意外修改。然而,深拷贝可能会占用更多的内存和处理时间,尤其是对于复杂的嵌套结构,所以在性能要求较高的场景下,需要权衡使用深拷贝的成本和收益。需要根据具体的需求选择合适的拷贝方式,确保代码的正确性和预期行为。

2023-06-27 09:27:01 122

原创 Vue2和Vue3双向数据绑定底层原理

当组件中的任何一个属性发生变化时,Vue就会通过Object.defineProperty()方法重新定义该属性的setter方法,从而在属性被重新赋值的时候触发对应的watcher更新对应的DOM节点。在组件创建时,Vue3会对组件的data中的每个属性进行代理,使用了Proxy中的handler中的set方法,当组件中的任何一个属性发生变化时,就会触发set方法,从而更新对应的DOM节点。在组件创建时,Vue会对组件的data中的每个属性进行代理。当用户输入改变对应输入节点中的值时,input节点上。

2023-06-25 17:02:58 509 1

原创 节流和防抖

节流可以限制一个函数在一定时间内只执行一次,即使该函数被重复触发,也只会执行一次。在一个事件被大量触发的时候,可以使用节流来避免事件频繁触发而导致性能问题。防抖是指在一段时间内,如果一个函数被连续调用多次,只有最后一次调用被执行,其他的都被忽略。在一个事件频繁触发的时候,可以使用防抖来避免不必要的重复计算。总之,节流和防抖都是通过函数的调用规则来优化前端性能的方法,它们的核心思想都是避免过度使用计算资源。

2023-06-24 10:16:09 661

原创 数组去重常见的几种方法

1.使用es6新增 set 去重。2.使用indexOf方法。3.filter方法去重。4.使用reduce方法。

2023-06-24 10:11:57 114

原创 this的指向?以及改变this的几种方法

一句话,基本可以认为被谁调用就指向谁。

2023-06-24 09:30:55 83 1

原创 原型和原型链。

原型:每一个函数都有一个原型(prototype),这个原型上保存了函数共有的方法,每一个对象也有一个原型(__proto__)他的原型指向创建自己函数的原型。原型链:假如我们使用一个对象的方法,他会先从自身去找,找不到会去原型上找,原型上找不到去原型的原型上找,以此类推,直到Object.prototype。

2023-06-24 09:22:59 63 1

原创 什么是闭包呢????

概念:闭包就是一个函数,一个什么函数呢,就是可以访问函数内部变量的函数。优点:它可以延长变量的作用域,防止变量污染,防止命名冲突。缺点:使用不当会导致内存泄漏。不能被垃圾回收机制回收。闭包的使用场景:柯里化。

2023-06-24 09:15:29 62 1

原创 什么是原型和原型链

原型链:每一个函数都有prototype属性指向自身的原型,而通过这个函数创建的对象也有一个_proto__属性指向自己函数的原型,而函数原型是一个对象,他也有_proto__属性指向自己的原型,这样逐层深入 直到Objec对象的原型,就构成了原型链。原型:每一个构造函数都有一个原型对象,也叫prototype(原型属性)它保存了函数创建时的一系列方法,每一个对象都有一个__proto__属性,而这个属性指向的是构造函数的原型。

2023-06-14 16:23:58 52

原创 js把多维数组转换成一维数组的方法

flat()默认是拉平一层,但是要想拉平多层且我们不知道该数组的是几维数组时,我们可以用Infinity作为参数,可以实现多维数组转换为一维数组。但是要注意,因为flat()方法为es6的方法,在平时写代码时要注意有些手机对于es6的代码时不支持的,需要编译的,切忌踩这个坑。上面的方法是使用apply结合concat,缺点是只能将二维转一维,多维数组就有问题了。由上面的例子可以看出,改方法对三维数组的转换时失败的;方法一:apply结合concat拉平数组。方法二:使用es6的flat()方法。

2023-05-03 09:09:12 1374 1

原创 正则表达式

【代码】正则表达式。

2023-05-02 15:51:50 94 1

原创 JavaScript基础知识总结

JavaScript 最开始是专门为浏览器设计的一门语言,但是现在也被用于很多其他的环境。如今,JavaScript 已经成为了与 HTML/CSS 完全集成的,使用最广泛的浏览器语言。有很多其他的语言可以被“编译”成 JavaScript,这些语言还提供了更多的功能。建议最好了解一下这些语言,至少在掌握了 JavaScript 之后大致的了解一下。我们可以正常地从 Error 和其他内建的 error 类中进行继承,。我们只需要注意 name 属性以及不要忘了调用 super。

2023-05-02 09:40:35 1896 1

原创 JS 中 this 指向问题

JS 中 this 指向问题

2023-05-02 09:24:30 137 4

空空如也

空空如也

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

TA关注的人

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