js复合类型

js复合类型

复合类型

复合类型

复合类型是指由多个基本数据类型或者复合类型构成的数据体。

js中的复合类型有对象Object、数组Array和Function函数三大类

对象

对象是一系列命名变量和函数的集合,对象中的命名变量称为属性,

对象中的函数称为方法。对象中访问属性和函数的方法都是通过. 点

运算符实现的。例如获取浏览器的版本navigator.appVersion


js是基于对象的脚本语言,所以提供了大量的内置对象供开发者使用

- Array数组类

- Date日期类

- Math数学类

- Object对象类

- String字符串类

... ...

还有一组的DOM对象,例如document.write();一组BOM对象,例如window.alert()


数组

- 什么是数组

- 数组就是一组数据的集合,其表现形式就是内存中的一段连续的内存地址

- 数组名称其实就是连续内存地址的首地址

- 数组特点

- 数组定义时无需指定数据类型,数组定义时可以无需指定数组长度

- 数组可以存储任何数据类型的数据(比如一个元素保存整型,一个元素保存

字符串型,这个在JS中是可以的)


数组的基本操作

js为数组提供了一个length属性可以获取数组的长度,实际上js的数组长度可以任意变化

- 数组长度可变,索引值从0开始

- 同一个数组中的元素类型可以互不相同

- 访问数组元素时不会产生越界问题,访问并未赋值的数组元素时返回undefined

多维数组

数组常见方法

在java中使用List<String> list=Arrays.asList(arr);获取一个不可变的集合,

存储的元素个数不能变化。试图修改结构则一定UnsupportedOperationException


String ss="adslfkjasldkfjsalkdfjdsafkajsdflksadjflsakd";

String[] arr=ss.split("a");

for(String temp:arr)

System.out.println(temp+":"+temp.length());

String ss1=String.join("567", arr);

System.out.println(ss1);

concat(arrayX,arrayX,......,arrayX)方法用于连接两个或多个数组,参数

可以是具体的值,也可以是数组对象。可以是任意多个

join(separator)方法用于把数组中的所有元素放入一个字符串,separator可选。

指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符

可以用于模拟实现栈或者队列

pop() 方法用于删除并返回数组的最后一个元素

push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度

shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值

unshift(newelement1,newelement2,....,newelementX)方法可向数组的开头添加一

个或更多元素,并返回新的长度

reverse() 方法用于颠倒数组中元素的顺序

slice(start,end)方法可从已有的数组中返回选定的元素

sort(sortby)方法用于对数组的元素进行排序。其中sortby为一个函数

- function(a,b){ return a-b}

- a-b输出从小到大排序,b-a输出从大到小排序

splice(index,howmany,item1,.....,itemX)从数组中添加/删除项目,然后返回被删除的项目

- index必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置

- howmany必需。要删除的项目数量。如果设置为 0,则不会删除项目