引用类型-Array
一,创建方式(两种):
1,var arr = new Array()不带参;var arr = new Array('a','b');带参 ;var arr = new Array(4);指定长度为4-- 使用Array构造函数;
2,var arr = [];空数组;var arr = ['a','b'] 初始化值数组--字面量表示法。
二, 最大长度:4294967285项,如果超出这个长度会报异常,创建一个初始值大小与这个上限值接近的数组,可能会导致运行时间超长的脚本错误。
三,检测数组的方法:
1,instanceof (一般情况满足):写法if(value instanceof Array){},对于包含多个框架的网页,由于框架的差异,会导致Array的构造函数不同,两个不同框架传递Array时,构造函数的不同会导致判定不准确;
2,ECMAScript5 新增方法:isArray():写法 if(Array.isArray(value)){};这个放法是用来判定是否为数组。{支持:IE+,firefox4+,Safari5+Opera10.5+和 Chrome}
四,转换方法:
包含:toLocaleStrin(),toString(),valueOf(),将数组中的每个值用 ,号拼接成字符串;
join();可传参,将数组中的每个值用指定符号拼接成字符串。例如:var colors ['red','black'] ; alert(colors.joi('**')) // red**black
五,栈方法:LIFO
1,push() --从数组末尾添加元素,返回数组长度(元素个数)
2,pop() -- 从数组末尾获得元素,返回获得的元素项,同时,数组长度减少1(移除项)
队列方法:FIFO
1,push() --- 同上
2,shift() ---从数组前端移除项,返回移除的项,数组长度减少1
3,unshift() -- 用法与shift()相反,从数组前端添加项,返回数组长度 ==注意:IE7 使用unshif() 会返回undefined而非数组的新长度, IE8 在非兼容模式下返回正确的长度值
六,重新排序方法:
reverse() --数组反转,返回反转后的数组
sort() 或 sort(compare) 可传处理函数作为参数 -- 数组排序,返回排序后的数组,默认是从小到大,sort排序是将数组中的元素转换成字符串后进行排序,所以排序会有偏差,针对这一情况,一般通过函数处理,传入比较方法(函数)
例如:升序:
function compare(value1,value2){
if(value1<value2){
return -1;
}else if(value1>value2){
return 1;
}else{
return 0;
}
}
var values = [0,2,12,25,5];
values.sort(compare);
alert(values); // 0,2,5,12,25
七,操作方法
concat() -- 连接方法