JavaScript高级程序设计(第三版)学习笔记1~5章(4)

这两个方法都接收2个参数:一个在每一项上都调用的函数和(可选的)作为归并基础的初始值。传递的函数需要接收4个参数:前一个值,当前值,项的索引和数组对象。这个函数的返回值会作为第一个参数传递给下一项,第一次迭代发生在数组的第二项上,因此第一个参数是数组的第一项,第二个参数是数组的第二项。

例:

var value = [1,2,3,4,5]; var sum = value.reduce(function(prev,cur,index,array){ return prev + cur; }); //sum = 15

//第一次执行回调函数,prev = 1,cur = 2,第二次,prev = 3(第一次函数返回结果1+2),cur = 3(当前数组项)。这个过程会把数组每一项都访问一遍。

reduceRight除了方向不一样,其他都一样。

Date类型

Date类型使用自UTC1970.1.1午夜零时开始经过的毫秒数来保存日期,可以将日期精确到1970.1.1之前或之后100 000 000(一亿)年。

使用Date构造函数而不传参数,新对象会获得当前日期和时间,要创建特定日期时间,必须传入表示该日期的毫秒数,ECMAScript提供了两个方法Date.parse和Date.UTC方法来简化操作。

Date.parse方法接收一个表示日期的字符串参数。这个方法因实现而异,而且通常因地区而异。美国地区的浏览器支持以下格式:

月/日/年,如6/13/2004

英文月名 日,年,如January 12,2004

英文名星期几 英文月名 日 年 时:分:秒 时区,如Tue May 25 2004 00:00:00 GMT-0700

ISO 8601扩展格式YYYY-MM-DDTHH:mm:ss.sssZ,如2004-05-25T00:00:00,只有支持js5的实现支持这种格式

Date.UTC也同样返回表示日期毫秒数,参数分别为:年份、基于0的月份(一月份是0)、月中哪一天(1-31)、小时数(0-23)、分钟、秒及毫秒数,其中只有前两个参数是必须的。

例:

var someDate = new Date(Date.UTC(2000,0)); //2000年1月1日0时0分0秒 var someDate = new Date(Date.UTC (2000,0,1,15,23,23)); //2000年1月1日15时23分23秒

Date构造函数会模仿Date.parse和Date.UTC函数。

Date.now方法返回调用这个函数时的日期和时间毫秒数。在不支持的浏览器上面,可以使用+操作符获取Date对象时间戳

var start = +new Date(); var stop = +new Date();

日格式化方法

toDateString—以特定于实现的格式显示星期几、月、日、年

toTimeString—以特定于实现的格式显示时、分、秒和时区

toLocaleDateString—以特定于地区的格式显示星期几、月、日、年

toLocaleTimeString—以特定于实现的格式显示时、分、秒

toUTCString—以特定于实现的格式完整的UTC时间

与toLocaleString和toString一样,以上方法没有一个能够用来在用户界面中显示一致的日期信息。

RegExp类型,正则

语法:类似于Perl语法

var expression = / pattern /flags;
模式(pattern)部分可以是简单或复杂的正则表达式,每个表达式可以使用一个或多个标识符,支持以下3个标识符

g:全局模式,将被应用于所有字符串,而不是在匹配到第一个字符串后就停止,

i:表示不区分大小写,

m:表示多行模式,即达到一行文本末尾时,会继续查找下一行

注:模式中所有元字符都需要转义

元字符:( [ { \ ^ $ | } ? * + . ] )

以上方法是以字面量模式创建正则表达式

使用RegExp构造正则表达式

var partten = new RegExp(“bat”,”I”);

注:使用RegExp构造函数,所有元字符必须双重转义

例:/\[bc\]at/ ===> “\\[bc\\]at”

RegExp实例属性

global:布尔值,表示是否设置了g标志

ignoreCase:布尔值,表示是否设置了i标志

lastIndex:整数,表示开始搜索的下一个匹配项的字符位置,从0算起

multiline:布尔值,表示是否设置了m标志

source:正则表达式的字符串表示,按照字面量形式,而非传入构造函数中的字符串模式返回

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wgyfdp.html