JS引用类型之Date和RegExp

2017-08-05  本文已影响20人  7天苹果

Date类型


Date类型使用自UTC1970年1月1日零点开始经过的毫秒数来保存日期。
要创建一个日期对象,使用new操作符和Date构造函数即可:

var now = new Date();
不传递参数

三个方法

如果传入Date.parse()方法的字符不能表示日期,那么它会返回NaN。实际上,如果直接将表示日期的字符串传递给Date构造函数,也会在后台调用Date.parse()。


结果相同

日期和时间都基于本地时区。

继承的方法

toLoaleString():会按照与浏览器设置的地区相适应的格式返回日期的时间。
toString():返回待有时区信息的日期和时间
valueOf():返回日期的毫秒表示。因此可以方便地使用比较操作符来比较日期值。

var date1 = new Date(2007,0,1);  //January 1,2007
var date2 = new Date(2007,1,1);   //"February 1,2007"

alert(date1 < date2);   //true
alert(date1 > date2);   //false

日期格式化方法

格式化日期方法

RegExp类型


创建一个正则表达式:

var expression = /cat/g;   //正则表达式字面量
var reg = new RegExp("cat",g);   //使用RegExp构造函数创建

正则表达式字面量始终会共享一个RegExp实例,而使用构造函数创建的每一个新RegExp实例都是一个新实例

flags:

RegExp实例属性

global:布尔值,表示是否设置了g标志。
ignoreCase:布尔值,表示是否设置了i标志。
lastIndex:整数,表示开始搜索下一个匹配项的字符位置,从0算起。
multiline:布尔值,表示是否设置了m标志。
source:正则表达式的字符串表示,按照字面量形式而非构造函数中的字符串模式返回

RegExp实例方法

var string='red';
var pattern=/\w/g;
var match=pattern.exec(string);
console.log(match);   //[ 'r', index: 0, input: 'red' ]
var match=pattern.exec(string);
console.log(match);   //[ 'e', index: 1, input: 'red' ]

RegExp构造函数属性

input:最近一次要匹配的字符串。
lastMatch:最近一次的匹配项
lastParen:最近一次匹配的捕获组
leftContext:input字符串中lastMatch之前的文本
multiline:布尔值,表示是否所有表达式都使用多行模式
rightContext:input字符串中lastMatch之后的文本

使用实例:

var text = "this has been a short summer";
var pattern = /(.)hort/g;

if(pattern.test(text)){
  alert(RegExp.input);   //this has been a short summer
  alert(RegExp.leftContext);   //this has been a 
  alert(RegExp.rightContext);  //summer
  alert(RegExp.lastMatch);   //short
  alert(RegExp.lastParen);  //s
  alert(RegExp.multiline);  //false
 }
上一篇 下一篇

猜你喜欢

热点阅读