js之本地对象(Array/Date)

一、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
说明:数组最多可以放4294967295项。
(4)用字面量定义数组,使用方括号并用逗号分隔,如:

var aColors = ["red","green","blue"];//方括号暗示把其中的值放大Array对象中
sColors[aColors.length]="purple";

2.方法
(1)[color=green]toString()[/color]
(2)[color=green]valueOf()[/color]
例:
var aColors=["red","green","blue"];
alert(aColors.toString());//outputs "red,green,blue"
alert(aColors.valueOf());//outputs "red,green,blue"

(3)[color=green]toLocalString():[/color]通过调用每个数组项的toLocalString()方法来构成串
var aColors=["red","green","blue"];
alert(aColors.toLocaleString());//outputs "red,green,blue"

(4)[color=green]join():[/color]连接字符串值,只有一个参数,即数组项之间使用的字符串。

var aColors=["red","green","blue"];
alert(aColors.join("|"));//outputs "red|green|blue"

(5)[color=green]split():[/color]把字串转换成数组,如:
var sColors ="red|green|blue";
var aColors = sColors.split("|");
var sColor = "red";
alert(sColor.split(""));//空字符作为分隔符,输出为"r,e,d"

(6)[color=green]concat():[/color]参数将被附加大数组末尾,返回新的Array

var aColors = ["red","green","blue"];
var aColors2 = aColors.concat("yellow","purple");
alert(aColors2.toString()); //outputs "red,green,blue,yellow,purple"

(7)[color=green]slice():[/color]返回的是具有特定项的新数组,接受一个或两个参数,即要提取的项的起始位置和结束位置。

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)[color=green]push():[/color]在Array结尾添加一个或多个项
(9)[color=green]pop():[/color]删除最后一个数据项(length-1),返回它作为函数值。
(10)[color=green]shift():[/color]将删除数组中的第一个项,将其作为函数值返回。
(11)[color=green]unshift():[/color]它把一个项放大数组的第一个位置。
(12)[color=green]reverse():[/color]颠倒数组项的顺序。
(13)[color=green]sort():[/color]根据数组项的值按升序为它们排序。
默认的sort()按字符编码排序的。如:

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);

这里传递一个比较函数给sort,比较函数的逻辑是:如果两参数的差值小于0,则表示a必须出现在b前面,否则在b后面。
输出结果是:3 134 324 665 5345 5654 6546,
(14)[color=green]splice():[/color]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"。

二、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)[color=green]toDateString()[/color]——以实现的特定的格式显示Date的日期部分(即只有月、日和年);
(2)[color=green]toTimeString()[/color]——以实现的特定的格式显示Date的时间部分(即小时、分、秒和时区);
(3)[color=green]toLocaleString()[/color]——以地点特定的格式显示Date的日期和时间;
(4)[color=green]toLocaleDateString()[/color]——以地点特定的格式显示Date的日期部分;
(5)[color=green]toLocaleTimeString()[/color]——以地点特定的格式显示Date的时间部分;
(6)[color=green]toUTCString()[/color]——以实现特定的格式显示Date的UTC时间。
(7)[color=green]getTimezoneOffset[/color]——说明某个时区与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());
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值