一、Array类
1.创建Array对象
(1)aValues = new Array();
(2)aValues = new Array(10);
(3)aValues = new Array("red","green","blue");
- aValues[3]="purple";//加一个到数组中
- aValues[aValues.length]="yellow";
- aValues[25]="gray";//5...24,放的是null
aValues[3]="purple";//加一个到数组中 aValues[aValues.length]="yellow"; aValues[25]="gray";//5...24,放的是null
说明:数组最多可以放4294967295项。
(4)用字面量定义数组,使用方括号并用逗号分隔,如:
- var aColors = ["red","green","blue"];//方括号暗示把其中的值放大Array对象中
- sColors[aColors.length]="purple";
var aColors = ["red","green","blue"];//方括号暗示把其中的值放大Array对象中 sColors[aColors.length]="purple";
2.方法
(1)toString()
(2)valueOf()
例:
- var aColors=["red","green","blue"];
- alert(aColors.toString());//outputs "red,green,blue"
- alert(aColors.valueOf());//outputs "red,green,blue"
var aColors=["red","green","blue"]; alert(aColors.toString());//outputs "red,green,blue" alert(aColors.valueOf());//outputs "red,green,blue"
(3)toLocalString():通过调用每个数组项的toLocalString()方法来构成串
- var aColors=["red","green","blue"];
- alert(aColors.toLocaleString());//outputs "red,green,blue"
var aColors=["red","green","blue"]; alert(aColors.toLocaleString());//outputs "red,green,blue"
(4)join():连接字符串值,只有一个参数,即数组项之间使用的字符串。
- var aColors=["red","green","blue"];
- alert(aColors.join("|"));//outputs "red|green|blue"
var aColors=["red","green","blue"]; alert(aColors.join("|"));//outputs "red|green|blue"
(5)split():把字串转换成数组,如:
- var sColors ="red|green|blue";
- var aColors = sColors.split("|");
- var sColor = "red";
- alert(sColor.split(""));//空字符作为分隔符,输出为"r,e,d"
var sColors ="red|green|blue"; var aColors = sColors.split("|"); var sColor = "red"; alert(sColor.split(""));//空字符作为分隔符,输出为"r,e,d"
(6)concat():参数将被附加大数组末尾,返回新的Array
- var aColors = ["red","green","blue"];
- var aColors2 = aColors.concat("yellow","purple");
- alert(aColors2.toString()); //outputs "red,green,blue,yellow,purple"
var aColors = ["red","green","blue"]; var aColors2 = aColors.concat("yellow","purple"); alert(aColors2.toString()); //outputs "red,green,blue,yellow,purple"
(7)slice():返回的是具有特定项的新数组,接受一个或两个参数,即要提取的项的起始位置和结束位置。
- var aColors = ["red","green","blue","yellow","purple"];
- var aColors2 = aColors.slice(1);
- var aColors3 = aColors.slice(1,4);
- alert(aColors2.toString());//outputs "green,blue,yellow,purple"
- alert(aColors3.toString());//outputs "green,blue,yellow"
var aColors = ["red","green","blue","yellow","purple"]; var aColors2 = aColors.slice(1); var aColors3 = aColors.slice(1,4); alert(aColors2.toString());//outputs "green,blue,yellow,purple" alert(aColors3.toString());//outputs "green,blue,yellow"
(8)push():在Array结尾添加一个或多个项
(9)pop():删除最后一个数据项(length-1),返回它作为函数值。
(10)shift():将删除数组中的第一个项,将其作为函数值返回。
(11)unshift():它把一个项放大数组的第一个位置。
(12)reverse():颠倒数组项的顺序。
(13)sort():根据数组项的值按升序为它们排序。
默认的sort()按字符编码排序的。如:
- var testArray=[3,324,5345,6546,134,5654,665];
- testArray.sort();
- alert(testArray);
var testArray=[3,324,5345,6546,134,5654,665]; testArray.sort(); alert(testArray);
结果是:输出结果是:134 3 324 5345 5654 6546 665
按大小排序:
- var testArray=[3,324,5345,6546,134,5654,665];
- testArray.sort(function(a,b){return a-b;});
- alert(testArray);
var testArray=[3,324,5345,6546,134,5654,665]; testArray.sort(function(a,b){return a-b;}); alert(testArray);
这里传递一个比较函数给sort,比较函数的逻辑是:如果两参数的差值小于0,则表示a必须出现在b前面,否则在b后面。
输出结果是:3 134 324 665 5345 5654 6546,
(14)splice():arg1为起始位置,arg2为要删除的数组项个数,其它为要插入的值。
- arr.splice(0,2);//将删除数组arr中的前两项。
- arr.splice(2,0,"red","green");//将大位置2处插入"red","green"
- arr.splic(2,1,"red","green");//将删除数组arr中位置2处的项,然后在位置2处插入"red"和"green"。
arr.splice(0,2);//将删除数组arr中的前两项。 arr.splice(2,0,"red","green");//将大位置2处插入"red","green" arr.splic(2,1,"red","green");//将删除数组arr中位置2处的项,然后在位置2处插入"red"和"green"。
二、Date对象
与Java一样,ECMAScript把日期存储为距离UTC时间1970年1月1日凌晨12点的毫秒数。UTC是Universal Time Code,即通用时间代码(也叫做Greenwich Mean Time,格林尼治标准时间)的缩写,是所有时区的基准标准时间。
1.日期格式
(1)mm/dd/yyyy(例如01/01/2009)
(2)mmmm dd.yyyy(例如January 12,2009)
2.定义
(1)var d = new Date();
(2)var d = new Date(0);//只声明距离 1970年1月1日凌晨12点的毫秒数
(3)var d = new Date(Date.parse("January 10,2009"));
(4)var d = new Date(Date.UTC(2009,1,5,13,5));//要设置2009年2月5号下午1:05分
(5)var d = new Date(2009,2,5);//直接声明UTC()方法接受的参数
Date类是少有的几个覆盖了toString()方法和valueOf()方法的类之一。valueOf()方法返回日期的毫秒表示,toString()方法返回由实现特定的字符串,采用人们可读懂的格式。因此,不能依赖toString()方法执行任何一致的操作
3.方法
(1)toDateString()——以实现的特定的格式显示Date的日期部分(即只有月、日和年);
(2)toTimeString()——以实现的特定的格式显示Date的时间部分(即小时、分、秒和时区);
(3)toLocaleString()——以地点特定的格式显示Date的日期和时间;
(4)toLocaleDateString()——以地点特定的格式显示Date的日期部分;
(5)toLocaleTimeString()——以地点特定的格式显示Date的时间部分;
(6)toUTCString()——以实现特定的格式显示Date的UTC时间。
(7)getTimezoneOffset——说明某个时区与UTC时间的关系,该方法返回当前时区比UTC提前或落后的分钟数。
还可用getTimezoneOffset()方法判断时区使用的是否是夏令时。实现这一点需要创建任意年份的 1月1日的日期,然后创建该年份的 7月1日的日期,比较时区偏移量。如果分钟数不等,说明该时区使用的是夏令时,如果相等,则该时区使用的不是夏令时。
- var d1 = new Date(2009,0,1);
- var d2 = new Date(2009,6,1);
- alert(d1.getTimezoneOffset()!=d2.getTimezoneOffset());