JS 变量 数据类型 数组 声明数组 数组的操作方法 循环遍历数组 数组和字符串相互转化 伪数组

js是用来交互的

变量是存放数据用的

var 存在变量提升 

let  const 不存在变量提升  并且在当前作用域内 不能再次声明 在声明之前不能使用改变量(TDZ-暂时性死区)

const  声明常量  只有声明的是基本数据类型的时候不可改变  引用数据类型可以改变值

js数据类型  两种

基本数据类型(一般 简单)Number  String  boolean  null undefined  symbol  bigInt

引用数据类型(复杂) Object  function  map  set  Array Data  reg正则

区别在于存放的位置不一样 :基本是在栈中 赋值  引用是在堆中

null  既是对象又不是对象  薛定谔对象

数组是什么

有一个又一个的元素组成的有序的集合

声明数组

两种:字面量声明数组  var  xxx    2.构造函数声明  var xxx = new Array()

数组有长度属性: 代表元素的个数  length

数组取值 一定要使用下标  下标 从0开始 

长度和下标  没有关系

数组的操作方法

七个内置的操作方法 : 改变数组本身

push--尾部添加 返回新数组的长度  可以添加多个

pop--尾部删除  返回被删除的元素

unshift--头部添加

shift--头部删除

splice--增加  删除  修改 本质上是删除 返回被删除的元素所组成的数组(从哪里开始的下标,删除的长度,要替换的值)

sort--排序 返回排序后的数组 a-b正序  b-a倒序

reverse--数组反转  反转后的数组

循环遍历数组 forEach--对数组进行循环遍历

filter--数组过滤 返回所有符合条件的元素一个新数组

map--对数组的每一项进行操作  返回新数组

some--判断数组是否有满足条件的元素 如有返回true 没有false

every--判断数组中元素是否全部满足条件  如果是返回true否则false

indexOf--查找第一个符合条件的下标  查找不到返回-1

lastIndexof--查找最后一个符合条件的下标 查找不到返回-1

findIndex--查找第一个符合条件的下标  查找不到返回-1

find--查找第一个符合条件的元素  查找不到返回undefined

includes--是否包含某个元素  如果包含返回true否则false

数组和字符串相互转化

join('-')

split

伪数组/类数组,和数组类似 有数组的长度属性 但是没有数组原型链上的操作方法

常见的伪数组: arguments  nodeList 

伪数组转化为数组 

var arr = Array.prototype.slice.call(伪数组)

var arr = [].slice.call(伪数组)

var arr = [...伪数组]

你可能感兴趣的:(JS 变量 数据类型 数组 声明数组 数组的操作方法 循环遍历数组 数组和字符串相互转化 伪数组)