JavaScript
文章平均质量分 57
JavaScript相关
菜卷_
这个作者很懒,什么都没留下…
展开
-
【javascript】深拷贝
文章目录一、为什么需要深拷贝?二、实现深拷贝总结一、为什么需要深拷贝?js中的对象都会存储在堆内存中,而栈内存中保存的只是这个对象指向堆内存的地址;当拷贝这个对象时,实际拷贝的是栈内存中的地址,但拷贝后的对象实际指向的还是保存在堆内存中的原对象;这时候修改拷贝后的对象,原对象也会被修改,所以就需要深拷贝来解决这个问题。二、实现深拷贝代码如下(示例):function deepClone(obj) { // 先判断obj是否是基本类型或null,如果是,则返回 if (typeof o原创 2021-12-02 10:21:53 · 591 阅读 · 0 评论 -
【javascript】设计模式
文章目录一、什么是设计?设计的一些准则二、五大设计原则SOLID1.单一职责原则 S(single)*2.开放封闭原则 O(open)*3.里氏置换原则 L(Barbara Liskov)4.接口独立原则 I(interface)5.依赖倒置原则 D(Dependence)总结一、什么是设计?设计,就是按照一种思路或者标准来实现功能,伴随着需求增加,设计的作用才能体现出来设计模式,设计和模式可以分开来读:设计,按照一种思路或者标准来实现功能。模式,实现这类功能的一个模板设计的一些准则.原创 2021-12-16 16:50:49 · 798 阅读 · 0 评论 -
【javascript】数组以及json去重方式
数组去重原创 2021-12-02 09:25:26 · 2063 阅读 · 0 评论 -
【javascript】Object.defineProperty()方法以及get和set的使用
Object.definProperty()方法用来给一个对象添加新属性,或者修改已有属性举个例子:const obj = { a: 3,};Object.defineProperty(obj, "a", { value: 4, writable: true, // 是否可以修改属性的值 configurable: true, // 配置项是否可以修改,就是说writable和enumerable是否能够修改 enumerable: true, // 是否可以枚举,就是说在遍历原创 2021-04-11 16:31:26 · 4013 阅读 · 4 评论 -
【javascript】作用域的理解(LHS,RHS查询)
作用域是什么?一,理解作用域任何javascript代码片段在执行前都要进行编译,先看一个例子吧:// 先思考一下这行代码是如何被编译的?var a = 33// 估计大部分人看到这行代码,会说首先声明一个变量a,然后给它赋值33// 但实际上并没有这么简单首先要先知道js在解析var a = 33这行代码的时候都有哪些东西参与了。引擎:从头到尾负责整个js程序的编译及执行过程编译器:负责语法分析及代码生成作用域:简单点说就是存储变量的仓库,引擎和编译器通过(LHS,RHS)查询原创 2021-04-10 10:42:04 · 216 阅读 · 1 评论 -
【javascript】js中遍历数组的方法
文章目录一、forEach二、every三、some总结一、forEachforEach会遍历数组中的所有值,并忽略回调函数的返回值,也就是forEach没有返回值arr = [1, 2, 3, "a", "b", "c"];arr.forEach((item) => { console.log(item);});二、everyevery会一直遍历子项,直到回调函数返回falsearr = [1, 2, 3, "a", "b", "c"];arr1 = [1, 2,原创 2021-04-14 09:06:26 · 502 阅读 · 0 评论