JavaScript 笔记(4)- 引用类型(Array、Date、RegExp)

原创 乘风逐月 随笔 JavaScript 198阅读 2018-04-23 17:39:18 举报

一、Object类型

1.创建方法:

(1)使用 new 操作符

(2)对象字面量

2.访问对象属性

(1)点表示法: person.name
(2)方括号表示法:person['name']
优点:
a. 可以通过变量来访问属性
b. 属性名中包含导致语法错误的字符,包含关键字或保留字时,可用方括号访问,如

二、Array 类型

1.创建方法

(1)使用Array构造函数:

(2)数组字面量法
var color = ['red','blue','green'];

2. length属性

数组的length属性不是只读的,可以通过修改length属性来向数组中添加元素和删除元素

3.检测数组
4.转换方法

Array重写了toLocalString()、toString()、valueOf()方法
(1) toString():返回以数组中每项的字符串形式拼接的以逗号分隔的字符串
(2) valueOf(): 返回的还是数组本身
(3) toLocalString(): 每一项调用toLocalString(),返回以逗号分隔的字符串
(4) join(‘指定分隔符’)方法:返回以指定分隔符拼接的字符串
注:以上方法在遇到数组的项是null,undefined时,以空字符串表示

5.数组元素操作方法

会修改原数组的方法:

(7) splice(): 可以删除,插入、替换数组

不会修改原数组的方法

6.位置方法

(1) indexOf():
(2) lastIndexOf():

7. 迭代方法

ECMAScript5为数组定义了五个迭代方法:every(),filter(),forEach(),map(),some()。

(1)every(): 对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true
(2)some(): 对数组中的每一项运行给定函数,如果该函数对任意一项返回true,则返回true
(3)filter(): 对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组
(4)map(): 对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组
(5)forEach(): 对数组中的每一项运行给定函数,这个方法没有返回值

8.缩小方法

(1)reduce()
(2)reduceRight()

三、Date类型

1.创建一个日期对象

var date = new Date();
a. 不传参数:date为当前的日期时间
b. 传参:date为指定日期时间的对象,参数可为表示特定时间的毫秒数,或日期字符串

2. Date方法

(1)Date.parse(): 接受一个表示日期的字符串参数,返回相应的毫秒数。若字符串参数不能表示日期,则返回NaN
注:日期字符串格式因地区而异
(2)Date.UTC(): 返回表示日期的的毫秒数,参数分别是:年份、基于0的月份、月中的哪一天、小时、分钟、秒、毫秒。年和月是必须的,其他参数忽略则默认为0。
(3)Date.now(): 返回调用该方法时的日期和时间的毫秒数

3.继承的方法

Date类型重写了toLocaleString():,toString(),valueOf()方法
(1)toLocaleString(): 按照浏览器设置的地区,返回相应的日期时间
(2)toString():返回带有时区信息的日期时间
(3)valueOf():返回日期的毫秒数,所以可以直接使用日期对象比较日期

4.日期格式化方法

var date = new Date();
(1)toDateString():显示星期、月、日、年 //"Fri Apr 20 2018"
(2)toTimeString():显示时、分、秒、时区 //"11:21:57 GMT+0800 (中国标准时间)"
(3)toLocaleDateString():显示特定地区的年、月、日 //"2018/4/20"
(4)toLocaleTimeString():显示特定格式时,分,秒 //"上午11:21:57"
(5)toUTCString():显示特定格式的完整UTC日期 //"Fri, 20 Apr 2018 03:21:57 GMT"

5.日期/时间组件方法

四、RegExp类型

1.创建方法

(1)字面量
var rep = /模式(pattern)/标志(flags) ;
(2)构造函数
var rep = new RegExp('pattern','flags');
注:模式参数是字符串,某些情况下要对字符串进行双重转义。
如:

2.标志(flags)

a. g:表示全局模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即停止
b. i:表示不区分大小写模式,即在确定匹配项时忽略模式与字符串的大小写
c. m:表示多行模式,即在到达一行文本末尾时还会继续查找下一行中是否存在与模式匹配的项

3.元字符

模式中的元字符都必须转义,正则表达式中的元字符有:( [ { \ ^ $ | ) ? * + .] }

4.RegExp实例属性

RegExp的每个实例都具有下列属性,通过这些属性可以取得有关模式的各种信息。
(1)global:布尔值,表示是否设置了g标志
(2)ignoreCase:布尔值,表示是否设置了i标志
(3)lastIndex:整数,表示开始搜索下一个匹配项的字符位置,从0算起
(4)multiline:布尔值,表示是否设置了m标志
(5)source:正则表达式的字符串表示,按照字面量形式而非传入构造函数中的字符串模式返回

5.RegExp的实例方法

(1)exec():捕获匹配字符串,接受一个参数,即要应用模式的字符串

(2)test(): 判断目标字符串是否与某个模式匹配,匹配返回true,否则返回false
(3)toLocaleString()和toString(): 返回正则表达式的字面量,与正则表达式的创建方法无关
(4)valueOf(): 返回正则表达式本身

6.RegExp构造函数的属性

RegExp构造函数的属性,基于所执行的最近一次正则表达式操作而变化
(1)input:最近一次要匹配的字符串
(2)lastMatch:最近一次的匹配项
(3)lastParen:最近一次的匹配捕获组
(4)leftContext:input字符串中lastMatch之前的文本
(5)multiline:布尔值,表示是否所有表达式都使用多行模式
(6)rightContext:Input字符串中lastMatch之后的文本

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复