Javascript中的复合类型大致有三种:
Object:对象
Array:数组
Function:函数
一、对象
对象是一系列命名变量、函数的集合。
Javascript还提供了许多内置类:
Array:数组类
Function:函数类
Date:日期类
Error:错误类
Math:数学类
Number:数值类
Object:对象类
String:字符串类
二、数组
数组是一系列的变量。
定义数组的三个方法:
var a = [3,5,23];
var b = [];
var c = new Array();
在JavaScript中,同一数组中的元素类型可以互不相同。JavaScript为数组提供了一个length属性,该属性可得到数组的长度,JavaScript的数组长度可以随意变化,它总等于所有元素索引最大值+1。(JavaScript的数组索引从0开始)
JavaScript作为动态、弱类型语言,有三个特征:
1、JavaScript的数组长度可变,数组长度总等于所有元素索引最大值+1。
2、同一数组的元素类型可以互不相同。
3、访问数组元素时不会产生数组越界,访问并未赋值的数组元素时,该数组的值为undefined。
JavaScript数组作为栈使用的两个方法如下:
push(ele):元素入栈,返回入栈后数组的长度。
pop():元素出栈,返回出栈的数组元素。
JavaScript数组作为队列使用的两个方法如下:
unshift(ele):元素入队列,返回入队列后数组的长度。
shift():元素出队列,返回出队列的数组元素。
例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<script type="text/javascript">
var as = [];
as.push("asd");
as.push("dgh");
as.push("hjl");
console.log(as.pop());
console.log(as.pop());
var qw= [];
qw.unshift("按合理开发");
qw.unshift("阿斯顿发生");
qw.unshift("房管局房管");
console.log(qw.shift());
console.log(qw.shift());
</script>
</body>
</html>
结果:
Array对象还定义了如下方法:
concat(value,…):为数组添加一个或多个元素。该方法返回追加元素后得到的数组,但原数组并不改变。
join([separator]):将数组的多个元素拼接在一起,组成字符串后返回。
reverse():反转数组包含的元素。
slice(start,[end]):截取数组在star索引和end索引之间的子数组。如果省略end参数,则数组一直截取到数组结束;如果start、end参数为正数,则从左边开始计数;反之,从右边开始计数。该方法返回取得到的子数组,但原数组并不改变。
sort(sortfunction]):对数组元素排序。
splice(start,deleteCount,value,…):截取数组从start索引开始、deleteCount个元素,再将多个value值追加到数组中。该方法返回数组被截取部分组成新数组。
例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<script type="text/javascript">
var a = ["html",2,"yeeku"];
console.log(a.concat(4,5));
console.log(a.concat([4,5]));
console.log(a.concat([4,5],[6,7]));
var b = ["html",20,"is",99,"good"];
console.log(b.join());
console.log(b.join("+"));
var c = ["html",css,"jquery","bootstrap"];
c.reverse();
console.log(c);
var a = ["yeeku","leegang","crazyit","fkit","charlie"];
console.log(d.slice(3));
console.log(d.slice(2,4));
console.log(d.slice(1,-2));
console.log(d.slice(-3,-2));
var e = ["yeeku","leegang","crazyit","fkit","charlie"];
console.log(e.splice(3));
console.log(e.splice(1,1));
console.log(e.splice(0,1,20,30,40));
console.log(e);
</script>
</body>
</html>
三、函数
函数是Javascript中另一个复合类型。函数可以包含一段可执行性代码,也可以接收调用者传入参数。参数列表不需要根据类型声明,函数的返回值也不需要数据类型声明。
Javascript函数与Java的区别:
Javascript函数无需声明返回值类型
Javascript函数无需声明形参类型
Javascript函数可以独立存在,无须属于任何类
Javascript函数必须使用function关键字定义