JavaScript的数组是什么

数组

什么是数组

数组的概念
数组,是可以存储着一些任意类型或者相同类型数据的集合。

数组的创建方式

内置构造函数创建数组
1.使用 js 的内置构造函数 Array创建一个数组
2.构造函数(类)特点:首字母大写,new运算符调用

字面量创建一个数组
1.直接使用 [ ] 的方式创建一个数组
2.在计算机科学中,字面量是用于表达源代码中一个固定值的表示法。

声明提升

1、变量声明提升:
不管变量在函数体里的什么位置进行定义(声明),那么在预解析(预编译)时,浏览器会先把变量的声明提升到函数体的最开始
2、注意:
提升的是变量的声明,而不是赋值

在这里插入图片描述

数组的length属性

  1. length 就是表示数组的长度,数组里面的成员个数
  2. length 属性是动态的(可读写)
  3. 即通过设置这个属性,可以从数组的末尾移除项或向数组中添加新项。

数组的索引

  1. 如何访问数组的每个元素,“索引”哈
  2. 索引也叫作下标,是指一个数据在数组里面排在第几个的位置
  3. 注意: 在所有的编程语言里面,索引都是从 0 开始的,所以,索引的最大值是 数组的长度减一

递归

一、递归概念:
递归就是特殊的嵌套调用,递归就是函数自己调用自己
递归函数中必须有一个分支是不调用自己的,要不然就调死了。
二、递归函数的特点:
1、跟踪比较麻烦
2、执行效率低
三、递归使用场景(度的把握):
1、如果一个需求即能用循环解决,又能用递归解决,强烈建议你使用循环。
2、在树形结构里,是必须使用递归了。
举两个例子:
1、用递归去做阶乘:
在这里插入图片描述
在这里插入图片描述

2、用递归去做斐波那契数列:
在这里插入图片描述
在这里插入图片描述

for和for…in循环

for循环遍历数组:
遍历:就是把数组的元素过一遍

for…in循环
1.遍历数组
2.遍历对象

for…in 循环和for循环的区别
1、在循环数组时
for in 循环给循环变量赋值为 字符串类型,for in循环必须把所有的元素要循环一遍,普通的for循环给循环变量赋值为 数字类型,普通的for的循环,可以控制循环哪些元素,更加灵活。
2、循环对象:
for…in循环可以循环对象
for循环,没法直接循环对象。
3、扩展
用for…in循环数组时,就是把数组当作了对象处理,下标就是键(键就是属性名;)。
再其实啊,浏览器在处理数组时,会(可以)把它当作对象

for…in循环的案例:
在这里插入图片描述
在这里插入图片描述
for循环的案例:
在这里插入图片描述
在这里插入图片描述

数组的官方函数

  • push() 可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。
  • pop() 从数组末尾移除最后一项,减少数组的length值,然后返回移除的项。
  • unshift()方法能够在数组前面添加任意个项并返回新数组的长度。
  • shift() 方法能够移除数组中的第一个项并返回该项,同时将数组长度减 1。
  • reverse() 方法会反转数组项的顺序。
  • sort() 方法按字母表升序排列数组项。
  • concat() 方法可以基于当前数组中的所有项创建一个新数组,参数可以是数组项或者数组。
  • slice() 方法它能够基于当前数组中的一或多个项创建一个新数组。可以接受一或两个参数。
  • splice() 方法,对数组进行删除、插入、替换,是最强大的数组方法,返回值是数组,改变原数组。
  • join()方法,将数组转换成对应的字符串。参数就是连接符。

数组的排序

什么是排序
排序,就是把一个乱序的数组,通过我们的处理,让他变成一个有序的数组

排序的类型:
1.冒泡排序
2.选择排序

不同数据类型在内存中存储的区别

基本数据类型:基本数据类型: number / string / boolean / undefined / null
基本数据类型在内存中的存储情况
在这里插入图片描述

复杂数据类型

复杂数据类型在内存中的存储情况
在这里插入图片描述

数据类型之间的比较和赋值

比较:
基本数据类型是 “值” 之间的比较
复杂数据类型是 “地址” 之间的比较
赋值:
基本数据类型之间的赋值(值传递)
复杂数据类型之间的赋值(引用传递)

对象

对象的概念:
对象是javascript的数据类型。对象是一种复合值,它将很多值聚合在一起,可 通过名字访问这些值。对象也看做是属性的无序集合,每个属性都是一个键/值对。
对象的创建
1.构造函数创建对象
2.字面量创建对象

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值