标签:
引用类型是一种数据结构,用于将数据和功能组织在一起,与c++的类相似。JS虽说是一门面向对象的语言,但它不具备传统的面向对象语言所支持的类和接口等基本结构。引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法。
一、Object类型
创建Object两种方法:
1.使用new操作符后跟Object构造函数
var person = new Object();
person.name = "eavan.li";
person.age = 21;
2.对象字面量表示法(常用)
var person = {
name : "eavan.li",
age : 21
};
一般来说,访问对象属性时使用点表示法,不过JS也支持方括号表示法来访问。
二、Array类型
A. 创建数组的基本方法:
1.使用Array构造函数(new可以省略)
var colors = new Array(20);
var name = new Array("Greg");
2.数组字面量表示法
var colors = ["red","blue","green"];
var name = []; //创建空数组
B.检测数组
可以用value instanceof Array来判断是否是数组,或者用Array.isArray()方法来确定。
C.转换方法
如果数组中的某一项的值是null或者undefined,那么该值在join(),toLocaleString(),tostring()和valueOf()方法返回的结果中以空字符串表示。
D.栈方法(末加末出) :push()和pop()方法
队列方法(末加前出) :push()和shift()方法
(前加末出):unshift()和pop()方法
注意,它们也是用点来引用的。
E.重排序方法
1.reverse()方法:会反转数组项的顺序
2.sort()方法:会调用每个数组项的tostring()转型方法,然后会比较得到的字符串,确定如何排序。因此可能会出现下面的情况:
var values = [0, 1, 5, 10, 15];
values.sort();
alert(value); //0,1,10,15,5
所以sort()方法可以接收一个比较函数作为参数,以便我们指定哪个值位于哪个值前面。
function compare(value1,value2) {
return value2-value1;
}
values.sort(compare); //15,10,5,1,0
F.操作方法
1.concat()方法:(它不影响原数组)
var num = [1, 2,3 ];
var num2 = num.concat(4,[5,6]);
alert(num2); //1,2,3,4,5,6
2.slice()方法:(它不影响原数组)
var num3 = num2.slice(1,4);
alect(num3); //2,3,4
注意:参数有负数的话,则用数组长度加上该数来确定相应的位置
3.splice()方法:(它会影响原数组)
var num = [1,2,3];
删除:2个参数,删除第一项的位置和要删除的个数
var removed = num.splice(0,1);
alert(num); //2,3
alert(removed); //1
插入:3个参数,起始位置、0、要插入的项
remove = num.splice(1,0,"yellow","ooo")
alert(num); //2,yellow,ooo,3
alert(removed); //返回的是一个空数组
替换:3个参数,起始位置、要删除的项、要插入的任意数量的项
remove = num.splice(2,1,"red")
alert(num); //2,red,ooo,3
alert(removed); //yellow
H.位置方法
第五章 引用类型
标签:
原文地址:http://www.cnblogs.com/liyawen0-0/p/4668221.html