介绍
这一章主要讲JavaScript里面的引用类型。JavaScript没有类(Class)和接口(Interface)这类的概念,所谓的引用类型,可以说是集合数据和方法的结构体。所有的对象,都是引用类型的实例。
对象类型(Object Type)
两种定义方法
1 | //1 |
两种get属性的方法
1 | alert(person.name); |
当属性名中有空格,或者别的会导致解析错误的,或者保留字关键字时,只能用第二种方法来access属性。
数组类型(Array Type)
两种定义方法
1 | //1 |
数组的一些方法
栈方法(Stack Methods)
- push(),在数组末尾添加元素。
- pop(),在数组末尾移除元素。
1
2colors.push("yellow", "orange");
colors.pop(); //"orange"
队列方法(Queue Methods)
- shift(),在数组头部移除元素。
- unshift(),和push()相同,在数组末尾添加元素。
1
colors.shift(); //"red"
重排序方法(Reordering Methods)
- reverse()方法,将数组中的元素倒序。
- sort()方法,将元素按照特定方式进行排序。默认的方法是通过对比字符串的方式。sort可以接受一个方法参数,定义排序的逻辑。
1
2
3
4
5
6
7
8
9
10
11var arr = [1, 5, 3, 15, 13];
arr.sort(); //[1, 13, 15, 3, 5];
arr.sort(function(v1, v2) {
if (v1 < v2) {
return 1;
} else if (v1 > v2) {
return -1;
} else {
return 0;
}
}); //[1, 3, 5, 13, 15]
操作方法(Manipulation Methods)
一些特性
- 一个数组可以同时包含不同类型的元素。
- 如果用index来取数组中的元素,index大于数组的长度,将会自动调整数组的长度到index在的长度。没有定义过的元素值是
undefined
。1
2
3var arr = new Array(3);
arr[5] = 1;
alert(arr.length); //6