- 博客(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
原创 原型和原型链。
原型:每一个函数都有一个原型(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
原创 JavaScript基础知识总结
JavaScript 最开始是专门为浏览器设计的一门语言,但是现在也被用于很多其他的环境。如今,JavaScript 已经成为了与 HTML/CSS 完全集成的,使用最广泛的浏览器语言。有很多其他的语言可以被“编译”成 JavaScript,这些语言还提供了更多的功能。建议最好了解一下这些语言,至少在掌握了 JavaScript 之后大致的了解一下。我们可以正常地从 Error 和其他内建的 error 类中进行继承,。我们只需要注意 name 属性以及不要忘了调用 super。
2023-05-02 09:40:35 1896 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人