知识] JS中的Array和String,Date类型的一点小操作大 中 小数组是JS核心提供的一种强大的集合类型。
JS中声明数组的定义有以下几种方法:
1. var a=new Array(); //然后分别通过下标指定每个元素,数组的大小在赋值后决定。
2.var a=new Array(1,2,3,"test"); //直接给数组赋值,元素值可以是任何类型,不要求类型要一样。
3.var a=new Array(10);//创建具有指定元素个数的数组。然后再分别赋值。没赋值时,默认每个元素都是undefined。
直接调用Array()函数和通过new运算符将Array()作为构造函数调用的结果是一样的。如:var a=Array(1,2,3)和 var a=new Array(1,2,3)等价。
4.var a=[1,2,3] ;直接用数组常量创建数组。
一般来说,直接用数组常量赋值要比用Array()构造数组的速度更快,所以应该尽可能用数组常量。
JS中的数组提供了强大的集合操作方法。这里主要说一下join()方法。
join()方法可以把一个数组的所有元素都转换成字符串,然后再把他们用指定的字符串连接起来。
如:
var a=[1,2,3];
var s=a.join();//s的值为:123
var b=["a","b","c"]
var d=b.join("-") //d的值为:a-b-c
Array的join方法构造字符串的整体效率要高于用“+”运算符来连接字符串。
在JS的字符串String类中有个split()方法能够用分隔符分割字符串,分割后的结果为字符数组。
如:var a="2010,09,12"
var b=a.split(","); //b的值为:["2010","09","12"]
如果分隔符为空,返回的数组的每个元素分别是对应字符串中的字符:var c=a.split("")//c的值为:["2","0","1","0",",","0","9",",""1","2"]
利用数组的join()方法和字符串的split()方法可以操作两种类型互相转化。
在页面用日期控件选择时间时可以用以上的方法来构造JS日期类型。
这里顺便说一下JS中Date类型的构造:
1. var now=new Date; //缺省参数,可以省略方法后的小括号。返回当前日期时间
2. var d=new Date(1988,1,2); //传入参数构造指定的日期。 参数依次表示年,月,日,时,分,秒,毫秒的数值,除了年和月之外,其他的值都可以缺省。
3.var d=new Date("2010/12/12 12:00:01");//通过特定的表示日期的字符串(只支持这种字符串格式),后面的时分秒可以缺省。
4.var d=new Date(1111111111111);//通过一个整数来构造日期,这个整数代表的是距离1970/01/01:08:00:00的毫秒数。这种方法不太常用。
在页面通过日期控件得到的日期是字符串格式的如:“2010-09-08”有时涉及时间的比较验证,就要转化为Date类型来比较。
如; var staDate=document.all.StartDate.value;// 得到“2010-09-08”
var sd=new Date(staDate.split(“-”).join("/"));//这样就得到了Date类型。
然后利用Date类型直接比较大小。
JS中声明数组的定义有以下几种方法:
1. var a=new Array(); //然后分别通过下标指定每个元素,数组的大小在赋值后决定。
2.var a=new Array(1,2,3,"test"); //直接给数组赋值,元素值可以是任何类型,不要求类型要一样。
3.var a=new Array(10);//创建具有指定元素个数的数组。然后再分别赋值。没赋值时,默认每个元素都是undefined。
直接调用Array()函数和通过new运算符将Array()作为构造函数调用的结果是一样的。如:var a=Array(1,2,3)和 var a=new Array(1,2,3)等价。
4.var a=[1,2,3] ;直接用数组常量创建数组。
一般来说,直接用数组常量赋值要比用Array()构造数组的速度更快,所以应该尽可能用数组常量。
JS中的数组提供了强大的集合操作方法。这里主要说一下join()方法。
join()方法可以把一个数组的所有元素都转换成字符串,然后再把他们用指定的字符串连接起来。
如:
var a=[1,2,3];
var s=a.join();//s的值为:123
var b=["a","b","c"]
var d=b.join("-") //d的值为:a-b-c
Array的join方法构造字符串的整体效率要高于用“+”运算符来连接字符串。
在JS的字符串String类中有个split()方法能够用分隔符分割字符串,分割后的结果为字符数组。
如:var a="2010,09,12"
var b=a.split(","); //b的值为:["2010","09","12"]
如果分隔符为空,返回的数组的每个元素分别是对应字符串中的字符:var c=a.split("")//c的值为:["2","0","1","0",",","0","9",",""1","2"]
利用数组的join()方法和字符串的split()方法可以操作两种类型互相转化。
在页面用日期控件选择时间时可以用以上的方法来构造JS日期类型。
这里顺便说一下JS中Date类型的构造:
1. var now=new Date; //缺省参数,可以省略方法后的小括号。返回当前日期时间
2. var d=new Date(1988,1,2); //传入参数构造指定的日期。 参数依次表示年,月,日,时,分,秒,毫秒的数值,除了年和月之外,其他的值都可以缺省。
3.var d=new Date("2010/12/12 12:00:01");//通过特定的表示日期的字符串(只支持这种字符串格式),后面的时分秒可以缺省。
4.var d=new Date(1111111111111);//通过一个整数来构造日期,这个整数代表的是距离1970/01/01:08:00:00的毫秒数。这种方法不太常用。
在页面通过日期控件得到的日期是字符串格式的如:“2010-09-08”有时涉及时间的比较验证,就要转化为Date类型来比较。
如; var staDate=document.all.StartDate.value;// 得到“2010-09-08”
var sd=new Date(staDate.split(“-”).join("/"));//这样就得到了Date类型。
然后利用Date类型直接比较大小。