![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javascript
文章平均质量分 79
兢兢业业的码农
这个作者很懒,什么都没留下…
展开
-
JS Array数组
Array数组的基本使用方法data: [],data1: [1, 2, 3],data2: [4, 5, 6],data3: [7, 8, 9],数组合并 concat()//均会触发视图的更新 返回一个新数组,原数组不发生改变this.data = this.data1.concat(this.data2);//双数组合并this.data = this.data1.concat(this.data2,this.data3)//三数组合并数组转字符串 join()//原创 2022-01-16 19:44:34 · 447 阅读 · 0 评论 -
js的类数组
我们先来看看在JavaScript 中有哪些情况下的对象是类数组呢?主要有以下几种:函数里面的参数对象arguments;用getElementsByTagName/ClassName/Name获得的HTMLCollection;用querySelector获得的 NodeList。类数组的基本介绍argumentsfunction sum(a,b,c) { console.log(arguments)}sum(1,2,3)从结果中可以看到,typeof这个arguments原创 2022-02-18 17:12:36 · 1709 阅读 · 0 评论 -
实现数组扁平化的6种方式
扁平化的实现数组的扁平化其实就是将一个嵌套多层的数组 array(嵌套可以是任何层数)转换为只有一层的数组。普通的递归实现普通的递归思路很容易理解,就是通过循环递归的方式,一项一项地去遍历,如果每一项还是一个数组,那么就继续往下遍历,利用递归程序的方法,来实现数组的每一项的连接。我们来看下这个方法是如何实现的,如下所示。var arr = [1, [2, [4, [5, [6]]]]]function flatten(arr) { let result = [] arr.forEach原创 2022-02-21 11:02:18 · 11532 阅读 · 0 评论 -
js常见的6种继承方式
构造函数、原型与实例之间的关系每创建一个函数,该函数就会自动带有一个 prototype 属性。该属性是个指针,指向了一个对象,我们称之为 原型对象。什么是指针?指针就好比学生的学号,原型对象则是那个学生。我们通过学号找到唯一的那个学生。假设突然,指针设置 null, 学号重置空了,不要慌,对象还存在,学生也没消失。只是不好找了。原型对象上默认有一个属性 constructor,该属性也是一个指针,指向其相关联的构造函数。通过调用构造函数产生的实例,都有一个内部属性,指向了原型对象。所以实例能够访问原原创 2022-02-17 16:09:10 · 345 阅读 · 0 评论 -
浅拷贝与深拷贝
浅拷贝的原理和实现对于浅拷贝的定义我们可以初步理解为:自己创建一个新的对象,来接受你要重新复制或引用的对象值。如果对象属性是基本的数据类型,复制的就是基本类型的值给新对象;但如果属性是引用数据类型,复制的就是内存中的地址,如果其中一个对象改变了这个内存中的地址,肯定会影响到另一个对象。实现浅拷贝的方法object.assignobject.assign 是 ES6 中 object 的一个方法,该方法可以用于 JS 对象的合并等多个用途,其中一个用途就是可以进行浅拷贝。该方法的第一个参数是拷贝的目原创 2022-02-16 21:44:29 · 119 阅读 · 0 评论 -
js的数据类型
数据类型概念前7中数据类型为基本类型数据最后一种为引用类型数据:Array - 数组对象、RegExp - 正则对象、Date - 日期对象、Math - 数学函数、Function - 函数对象。基础类型存储在栈内存,被引用或拷贝时,会创建一个完全相等的变量;引用类型存储在堆内存,存储的是地址,被引用或者拷贝时,赋的其实是在栈中的地址,而不是堆中的数据,也就是两个对象指向的是同一个存储空间,无论哪个对象发生改变,其实都是改变的存储空间的内容,因此,两个对象是联动的。第一个为浅拷贝,第二个为深原创 2022-02-10 22:51:34 · 328 阅读 · 0 评论