Javascript引用类型时间日期和数组数组
在Javascript中的数据类型是在早期的java的类的基础上转化为指定格式了。为了这个目的,使用的数据类型已从1970年1月1日的零时间UTC保存日期的毫秒数。在使用这种数据存储格式的情况下,日期型日期之前可以保存1970年1月1日或之后被精确到285616年。
创建日期对象
在Javascript中,可以使用日期()构造函数创建日期对象,例如:
复制代码代码如下所示:
日期=新日期();
当日期参数未传递给构造函数时,创建当前日期和时间的对象。
当然,如果您想根据特定的日期和时间创建日期对象,也可以。您只需要将参数表示为构造函数的日期即可。
日期()构造函数可以接受的常用日期格式是:
月日/年,如2 27 2014;
英文月名,年份,如二月272014;
年,月,日,时,分,秒,毫秒,如2014,1,27,11,22,22
以下格式分别用于创建日期对象:
VaR date1 =新的日期(2 / 27 / 2014);
警报(date1); / / Thu Feb 272014 00:00:00 GMT + 0800
VAR把=新日期(二月272014);
警报(把); / / Thu Feb 272014 00:00:00 GMT + 0800
VaR的日期=新的日期(2014,1,27,11,24,0);
警报(日期); / / Thu Feb 272014 11:24:00 GMT + 0800
VaR日期=新的日期(2014,1,27);
警报(日期); / / Thu Feb 272014 00:00:00 GMT + 0800
VaR日期5 =新的日期(2014,1,27,11,24,0 );
警报(膨胀); / /无效的日期
通过上面的例子,您可能会注意到它们之间的区别:
首先,在前两种方法中创建日期对象时,必须以字符串的形式作为字符串传递它们。不是在第三种方式中使用字符串,而是必须将每个值作为一个单独的值导入。
第二,我们必须特别注意这样一个事实:当我们用第三种方法来创建日期时,它的月份从0开始,也就是说,一月对应于0,然后是类似的。前两种方法是正常的月表达式,即二月对应于2。
第三,用第三种方式表示,年份和月份是必需的,而其他参数则省略,将用0表示。
注:前两种方式,叫Date.parse()方法会得到同样的结果;第三种方式是在呼唤Date.UTC的结果一致()方法。
继承法
日期类型继承toString(),(),和价值tolocalestring()方法,通过这些方法调用的值的格式是不同的因为不同的浏览器,你可以试着打它。
日期格式的方法
日期类型也有一些专门用于将日期格式化为字符串的方法,如下所示:
ToDateString()显示星期、几个月,在一个特定的日子和实现形式;
totimestring()-显示时间,分钟,在一个特定的格式的时区与时区;
ToLocaleDateString()-周,显示月,在一个特定的区域格式的日子;
ToLocaleTimeString()-显示时间,一分钟,在一个特定的格式二。
ToUTCString()在显示特定的格式显示完整的UTC日期
上述方法可能不经常使用,因此没有深入介绍。
日期/时间组件方法
javascript引用类型数组数组
{数组}的22种方法的概述
在Javascript中的数组是从其他语言中的数组不同。虽然在其他语言和Javascript数组数组都有序列表数据,但不同于其他语言,Javascript数组的每一项可以保持任何类型的数据。也就是说,你可以用数组的第一个位置保存字符串,在第二位置保存价值和保存对象的第三个位置。此外,对Javascript数组的大小可以动态调整,即它可以为数据添加到适应新的数据自动增长。
数组中的每个项:数组可以保存任何类型的数据,并且数组的大小是动态调整的(最多4294967295项,大约43亿项)。
{ 1.1 }数组创建:
1.1.1 } {使用阵列的构造函数(也可以省略new操作符使用数组构造函数时)
var颜色=新数组();
新数组(20);
VaR的颜色=新的数组(红,蓝,绿色的);
var颜色=数组(3);
{如果传输与数组值一致,则将创建给定数量的数值;
如果传递其他类型的参数,则只创建包含该值的唯一项。
例如var颜色=新数组(3);一个包含三个项的数组
VaR的颜色=新的数组('greg '); / / ,和格雷戈阵
1.1.2 } {使用数组表示形式(使用这种方法不会调用数组构造器)
如VaR的颜色= {红','蓝色'、‘绿色'};
var颜色{ };
{不可用的;
/ /在IE8,包括以前的三个项目,每个项目是1, 2和未定义的数组,数组的其他浏览器的1和2
{不可用};
/ /在IE8和创建4以前的数组,而在其他浏览器将创造3的阵列
{ 1.2 }数组读写
{ 1.2.1 }读取和设置数组的值,使用方括号和提供基于0的相应值的数字索引,存储在数组的长度属性,此属性始终返回一个值大于或等于0
1.2.2 }的{数组的长度属性的可读性和可读性。通过设置数组的长度属性,可以从数组的结尾移除项或向数组添加新项。
如VaR的颜色= {红','蓝色'、‘绿色'};
colors.length = 2;
警报(颜色{ 2 });
colors.length = 4;
警报(颜色{ 3 });
{ 1.2.3 }可以很容易地添加新的项目在数组的末尾用长度属性
例如颜色{ } =长度色彩;
当{ 1.2.4 }把价值超过数组大小的数组,计算其长度值,即长度值等于最后一项的索引加1。
如VaR的颜色= {红','蓝色'、‘绿色'};
颜色{ 99 } =;
警报(颜色,长度); / 100
{ 1.3 }阵列检测
{ 1.3.1 }如果(值是数组){ }:问题是,它假定只有一个全局执行环境,如果多个帧包含一个网页,实际上是全球环境的两个以上的不同,所以有数组构造函数超过两个不同的版本。如果数组从一帧到另一个介绍,然后传入数组不同的构造函数与第二框架创建原始数组。
新{ } ecmascript5 1.3.2 array.isarray()方法:如果(Array.isArray(值)){ }。这种做法的目的是最终确定值是否是一个数组,无论它是造成全球环境。
{ 1.4 }数组转换
{公告}如果数组为空或未定义的一个项目,然后在结果值是空字符串代表加入(),(),tolocalestring toString()和()方法的价值。
1.4.1 toString(){ }:一个以逗号分隔的字符串,返回一个字符串的数组中的每个值的字符串拼接。
{ }():返回的值或数组
如VaR的颜色= {红','蓝色'、‘绿色'};
console.log(colors.valueof()); / / {红','蓝色'、‘绿色'}
警报(colors.valueof()); / /红、蓝、绿
警报(colors.tostring()); / /红、蓝、绿
警报(颜色); / /红、蓝、绿
{注}因为警报()将接收字符串参数,调用toString()方法在背景和获取结果为toString相同()方法。
{ } tolocalestring 1.4.3():创建一个数组的值用逗号分隔的字符串,和每项的值称为tolocalestring()方法
甲= { { var
tolocalestring:函数(){
return'nikolaos;
},
说明:函数(){
return'nicholas;
}
};
2 = { { var
tolocalestring:函数(){
return'gririos;
},
说明:函数(){
return'greg;
}
};
无功的人= {甲,2 };
警惕(人);/尼古拉斯,格雷戈
警报(people.tostring()); / /尼古拉斯,格雷戈
警报(people.tolocalestring()); / / Nikolaos,Gririos
{ 1.4.4 }加入:可以使用不同的分隔符来建造这个字符串。连接只接收一个字符,用作分隔符字符串,然后返回包含所有数组项的字符串。
如VaR的颜色= {'、‘绿色'、'蓝色' };
警报(colors.join(',')); / /红,绿,蓝的
警报(colors.join(' | | ')); / /红| |绿色| |蓝
警报(colors.join()); / /红,绿,蓝的
警报(colors.join(定义)); / /红,绿,蓝的
{注}定义为在IE7和之前使用的分隔符
{ 1.5 }数组方法
{ 1.5.1 }堆栈的方法:堆栈是一种数据结构,先出后进先出(后进先出),这是最新增加的项目,删除最早。插入项目的堆栈(称为推)和删除(POP)仅出现在堆栈的顶部。
{ 1.5.1.1 }推()方法:你可以接受任意数量的参数,将它们添加到数组的结束,并返回修改后的数组的长度。
1.5.1.2 }的{流行()方法:从数组的末尾删除最后一个项目,降低阵列的长度值,并返回被删除的项目。
1.5.2 } {队列方法:队列FIFO(先进先出FIFO数据结构)。队列在列表的结尾添加项,并从列表的前端删除项目。
{ 1.5.2.1 }移():删除数组中的第一个项目,项目回报,和数组长度减少1(结合利用移()和()将模拟队列)
{ }():1.5.2.2 Unshift添加任何项目在阵列的前端和返回新数组的长度(联合使用unshift()和流行()来模拟队列从相反方向)
{说明} IE7及以下位置()方法返回始终未定义
{ 1.5.3 }排序方法:
{ 1.5.3.1 }反():反转数组的顺序和返回一个数组已经排序
{ }():1.5.3.2排序升序数组项。排序方法调用toString()每个数组项的方法,然后比较字符串排序并返回排序后的数组。
{注意}排序()方法可以接受比较函数作为一个参数来指定哪个值位于哪个值前面。如果第一个参数位于第二个参数之前,它返回一个负数。如果这两个参数相等,则返回0。如果第一个参数位于第二个参数,则返回一个正数。
{ }比较功能(使用:如array1.sort(比较);)
(value1,value2功能比较){
如果(value1 value2 P<0.05){
返回- 1;
} else if(value1 value2 { >)
返回1;
其他{ }
返回0;
}
}
对于数字类型或值()方法返回的数值类型的对象类型,比较函数可以简化为:
(value1,value2功能比较){
返回- value1 value2;
}
{下面}:下面的方法用于创建一个随机数组
函数比较(){
Math.random(0.5回);
}
{ 1.5.4 }手术方法(切割、连接、插入、删除、替换):
{ 1.5.4.1 } concat():创建一个基于当前数组中所有项目的新数组,先创建一份当前数组,然后将接收到的参数的拷贝结束,最后回到新建阵列(concat()不影响原数组)。
{ 1 }注意不传递参数到concat()方法,它只是将当前阵列
{注2 }如果参数是一个或多个数组,则该方法将每个数组添加到结果数组中。
{注3 }如果传递的值不是数组,这些值只会添加到结果数组的结尾。
例如var数字= 1,2 };
console.log(numbers.concat()); / / {1,2}
console.log(numbers.concat({ } { } 5、4、3、3、4、5,1,2)); / / { 1,2,5,4,3,3,4,5,1,2 };
{ 1.5.4.2 }片():基于当前数组中的一个或多个项目,创建一个新数组,接受一个或两个参数,即,回到开始和结束位置的项目,最后返回新数组(slice()不影响原数组)。
{注意,当1 }没有参数时,返回原始数组。
{注意,当2 }只有一个参数时,切片()方法从参数的指定位置返回到当前数组的结尾的所有项。
{对3 }的两个参数的注释,此方法返回起始位置和结束位置之间的项,但不包括位置末端的项。
{注4 }如果参数为负,则使用数组的长度和负数作为参数。
{注意,如果结束位置小于起始位置,则5 }返回一个空数组。
风险值= { 12345 };
console.log(numbers.slice());} { 1,2,3,4,5 / /
console.log(numbers.slice(2)); / / {他}
console.log(numbers.slice(2,3)); / / { 3 }
console.log(numbers.slice(3) / / 3 + 5 = 2,{他});
console.log(numbers.slice(2,1)); / / { }
{ 1.5.4.3 }剪接():原始数组变成修改数组,和剪接()返回从原始数组删除的项的数组,并返回一个空数组没有删除项目。
{ }:删除这两个参数是删除第一个位置的项目数,要删除
{ INSERT }:三个参数是起始位置,0个参数(要删除的基数),要插入的项。
{替换}:起始位置的三个参数,删除项,插入项
{注1 }如果第一个参数为负,则使用数组的长度和负数作为参数。
{注2 }如果第二个参数为负,则使用0作为参数。
风险值= { 12345 };
console.log(numbers.splice(0,2)、数字); / / {1,2} {他}
风险值= { 12345 };
console.log(numbers.splice(1,0,11,12),数字1,11,12,2,3,4,5 / / { } { });
风险值= { 12345 };
console.log(numbers.splice(1,3,11,12)、数字); / / { } { }、1,11,12,5
风险值= { 12345 };
console.log(numbers.splice(- 4,3,11,12)、数字); / / 4 + 5 = 1 > { } { }、1,11,12,5
风险值= { 12345 };
console.log(numbers.splice(- 4,- 3,11,12描述),号; / / 4 + 5 = 1)-> { } { 1,11,12,2,3,4,5 }
{ 55 }定位方法(ecmascript5):两个参数:项目看,代表的查找的起始点位置的索引(可选)。返回第一个满意的查找项目的位置在数组中,并返回1如果没找到(定位方法不影响原始数组)
{比较而言,使用完整运算符
1.5.5.1 indexOf(){ }
{ }()1.5.5.2字符串
无功的人= {姓名:'nicholas};
无功的人= { {姓名:'nicholas} };
更多的人= {人} VaR;
警报(people.indexof(人)); / / 1,因为人和人{ 0 }都具有同样的价值,但他们是两个参考
警报(morepeople.indexof(人)); / / 0,因为人和人{ 0 }是相同的参考
警报(morepeople.indexof({姓名:'nicholas ' })); / / 1,因为它不是相同的参考
如果{ }返回满足条件的术语的所有索引值
功能allindexof(数组值){
var结果{ };
VaR POS = array.indexof(价值);
如果(POS = 1){
返回- 1;
}
当(POS > - 1){
result.push(POS);
POS = array.indexof(价值、POS + 1);
}
返回结果;
}
var array = { 1,2,3,3,2,1 };
console.log(allindexof(阵列,1)); / / { 0 }
1.5.6 }的{迭代法(ecmascript5):两个参数:运行在每一项功能,该功能域对象的功能的这种效果的价值(可选),引入这些方法的功能接收三个参数:数组项的值,该项目在阵列的位置,和数组对象本身(迭代方法不影响原数组)。
{ 1.5.6.1 }每():运行一个给定的函数对数组中的每个项目,如果函数返回真的每一项回归真实。
1.5.6.2 } {过滤():运行一个给定的函数为每一项的数组,并返回,函数返回数组组成的项目真正的(通常用于查询所有合格的数组项)。
{ 1.5.6.3 } foreach():这个方法没有返回值(相当于for循环)为每个阵列中运行一个给定的功能项目。
{ 1.5.6.4 }地图():运行一个给定的函数为每一项的数组,返回的数组包含每个函数调用的结果,通常是用于创建包含一个项目的项目和另一个数组的数组。
{ 1.5.6.5 }一些():运行一个给定的函数对数组中的每个项目,如果函数返回true的任何物品,返回真。
风险值= { 1,2,3,4,5,6,7,8,9,0 };
var总和= 0;
无功everyresult = numbers.every(功能(项目、指标、阵列){
返回(项目> 2);
});
无功filterresult = numbers.filter(功能(项目、指标、阵列){
返回(项目> 2)
});
无功foreachresult = numbers.foreach(功能(项目、指标、阵列){
总和=项;
返回(项目> 2)
});
无功mapresult = numbers.map(功能(项目、指标、阵列){
返回(项目* 2)
});
VaR SOM = numbers.some(功能(项目、指标、阵列){
返回(项目> 2)
});
console.log(everyresult); / /假
console.log(filterresult); / / {可能}
console.log(foreachresult,总和); / /定义45
console.log(mapresult); / / { 2,4,6,8,10,12,14,16,18,0 }
console.log(someresult); / /真的
{提示}功能logarray(价值指数、阵列){
console.log(价值);
}
{ 9 } 2,,,,,,(logarray) / / 2 59
1.5.7 }的{合并方法(ecmascript5):迭代数组的建立最终的返回值的所有项目。接受两个参数:一个上调功能在每个项目的初始值(可选)作为合并的基础,通过减少功能()和()接受4个参数reduceright:以前的值,当前值的项的索引,和数组对象,函数返回的任何值将自动作为第一个参数传递给下一个项目。第一次发生在数组的第二个项目。因此,第一个参数是数组的第一个项目,第二个参数是一个数组的第二项(合并的方法,不影响原数组)。
{ 1.5.7.1 }减少()
1.5.7.2 reduceright { }()
VaR和= values.reduce(功能(沪指,cur,指数、阵列){
回沪指+电流;
})
警报(总和);15