对象

对象
实例方法
1. to类
●toString0: 返回本地时区的日期字符串
●toUTCString0: 返回UTC时间的日期字符串
●tolSOString0: 返回Date对象的标准的日期时间字符串格式的字符串
●toDateString0: 返回Date对象的8期部分的字符串
●toTimeString0: 返回Date对 象的时间部分的字符串
●toJSON():返回一个符合JSON格式的日期字符串,与tolSOString方法的返回结果完全相同。
●toL ocaleString0: toString0方法的本地化转换
●tol ocale TimeString0: toTimeString0方 法的本地化转换
●tol ocaleDateString0: toDateString0方法的本地化转换
2.get类
●getTime(:返回距离1970年1月1日0点的毫秒数,同valueOf0。在ECMAScript5之前, 可以使用getTime0方法实现Date.now0
●getTimezoneOffset0:返回当前时间与UTC的时区差异,以分钟表示(8*60=480分钟),返回结果考虑到了夏令时因素
●getYear(:返回距离1900年的年数(已过时)
●get[UTC]FullYear(: 返回年份(4位数)
●get[UTC]Month0): 返回月份(0-11)
●get[UTC]Date0: 返回第几天(1-31)
●get[UTC]Day0:返回星期几(0-6)
●get[UTC]Hours0: 返回小时值(0-23)
●get[UTC]Minutes(:返回分钟值(0-59)
●get[UTC]Seconds(: 返回秒值(0-59)
●get[UTC]Milliseconds0: 返回毫秒值(0-999)
3.set类
●setTime0: 使用毫秒的格式,设置一个Date对象的值
●setYear): 设置年份(已过时)
●set[UTC]FullYear0: 设置年份(4位数),以及可选的月份值和日期值
●set[UTC]Month0: 设置月份(0-11),以及可选的8期值
●set[UTC]Date0): 设置第几天(1-31)
●set[UTC]Hours0: 设置小时值(0-23),以及可选的分钟值、秒值及毫秒值
●set[UTC]Minutes(: 设置分钟值(0-59),以及可选的秒值及毫秒值
●set[UTC]Seconds0: 设置秒值(0-59),以及可选的毫秒值
●set(UTCJMlliseconds0: 设置毫秒值(0-999)
Math对象
Math对象常见的属性
Math.E:自然对数的底数,即常量e的值。
Math.LN10:10的自然对数。
Math.LN2:2的自然对数。
Math.L OG2E:以2为底e的对数。
Math.L OG10E:以10为底e的对象。
Math.SQRT1_ 2:1/2的平方根(即2的平方根的倒数)。
Math.SQRT2:2的平方根。
Math.PI:数学里面PI的值。
Math对象常见的方法
1. min()和max()
这两个方法很简单,就是求一组数值的最大值和最小值。
2.舍入方法ceil(), floor0和round()
ceil0:执行向上舍入
floor():执行向下舍入
round0:四舍五入
3.随机数方法
Math.random0方法返回0-1亿间的随机数,如果想显示固定范围的随机数,可以套用下面的公式。值= Math.foor(Math.random0可能值的总数+第一个可能的值)。
4.其他方法
Math.abs(num):返回num的绝对值。
Math.exp(num):返回Math.E的num次幂。
Math.log(num):返回num的自然对数。
Math.pow(num,power):返回num的power次幂。
Math.sqr(num):返回num的平方根。
Math.acos(x):返回x的反余弦值。
Math.asin(x):返回x的反正弦值。
Math.atan(x):返回x的反正切值。
Math.atan2(x):返回y/x的反正切值。
Math.cos(x):返回x的余弦值。
Math.sin(x):返回x的正弦值。
Math.tan(x):返回x的正切值。
JSON
对象字面量和JSON的区别
●属性名必须用双引号引起来
●允许的值包括数字,true, false, null, 数组,对象以及双引号引起来的字符串
●函数是不允许的
JSON对象转为字符串
使用的方法为JSON.stringify0。
如果一个字面量对象里面包含了方法,那么在使用JSON. stringify()方法将其转为字符串时,会直接忽略掉对象里面的方法。
字符串转为JSON对象
使用的方法为JSoN.parse()方法,但是需要注意的一个问题是,当我们要将一一个字符串转为JSON对象时,必须要保证字符串的格式要和JSON的格式-模一样,否则无法进行转换。
Date对象
时间戳
所谓时间戳,就是从1970年1月1 日0时0分秒到现在为止的秒数。在计算机里面,进行时间的计算都是通过时间戳来进行计算的。计算完成以后再将时间戳转换为表示时间的字符串。获取时间戳在ECMAScript中比较特殊的是获取时间的精度更高一些,可以获取到的时间戳精确到了毫秒。
静态方法(扩展)
Date.parse()
该方法用于解析一个日期字符串,参数是- -个包含待解析的日期和时间的字符串,返回从1970年1月1日0点到给定8期的毫秒数。
该方法会根据日期时间字符串格式规则来解析字符串的格式,除了标准格式外,以下格式也支持。如果字符串无法识别,将返回NaN。
1、'月/日/年'如6/13/2004
2、'月日年'如January 12,2004或Jan 12,2004
3、'星期月日年时:分:秒时区' Tue May 25 2004 00:00:00 GMT-0700
注意:浏览器不支持不表示日期只表示时间的字符串格式。
Date.UTC()
Date.UTCO同样返回给定8期的毫秒数,但其参数并不是一一个字符串,而是分别代表年、月、日、时、分、秒、毫秒的数字参数,说白了就是参数的形式和_上面不- -样。Date.UTC0方法的语法如下:
Date.UTClyvear,month,day,hours,minutes,seconds,ms),其中year参 数是固定的,其余参数都是可选的,我们可以通过函数的length属性来查看该函数的形式参数个数。
日期对象构造函数
不使用new关键字
如果不使用new关键字,那么就只是单纯的函数调用。会返回一个当前的日期和时间的字符串表示。并且被当作函数调用时,会忽略所有传递进去的参数。
使用new关键字
使用new关键字但是没有传入任何参数,则会根据当前的日期时间来创建一个date对象
字符串相关方法
字符串属性
Length属性:可以访问到该字符串里面有多少个字符
字符串方法
访问特定字符
charAt():接收-个数字参数,找到对应该下标的字符是什么
charCodeAt(:接收一个数字参数, 找到对应该下标的字符编码是什么
fromCharCode0:这个方法基本上和charCodeAt0执行相反的操作,
字符串操作方法
concat():用于将一个或者多个字符串拼接起来,返回拼接得到的新字符串需要注意的就是原字符串不会产生改变,拼接后的字符串以返回值的方式返回。还有一点,那就是虽然concat0可以用于拼接字符串,但是还是使用+号拼接的方式比较简便,使用的情况更多一些。
slice0:和数组的slice0方法相似,接收一或者两个参数,截取字符串。
substr():在字符串中抽取从开始下标开始的指定数目的字符,效果和slice()方法基本一样。但是还是有一定的区别,区别就在于第二个参数。
substring0:用于提取字符串中介于两个指定下标之间的字符。和前面的方法也是非常的相似,但是还是有不同的地方。
字符串位置方法
indexOf0和lastIndexOf0:这两个方法都是从一个字符串中搜索给定的子字符串,然后返回子字符串的位置,没有找到就是返回-1,两个方法的区别在于-一个是从前面开始找,一个是从后面开始找。
字符串对象中还存在一一个和index0f() 方法很类似的方法,为search()方法。该方法也是用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。如果没有找到任何匹配的子串,则返回-1。
查看是否包含字符
includes0:如果包含返回true,否则返回false。
检测开始字符和结束字符
startsWith0和endsWith0
去除字符串空白方法
trim0:这个方法会创建一-个字符串副本, 删除前置以及后缀的所有空格。
除了trim0以外,还有triml eft0和trimRight0方法,分别用于删除字符串开头和末尾的空格。
重复字符串
repeat():里面传入要重复的次数即可。
字符串大小写转换方法
这里涉及到4个方法:分别是tol owerCase0和toL ocaleL owerCase0,还有就是toUpperCase0和toL ocaleUpperCase0。用得较多的- -般就是toL owerCase0和toUpperCase0
正则表达式
正则表达式基本介绍
字面量写法
模式修正符
g:表示全局(global)模式,即模式将被应用于所有字符串,而并非在发现第一个匹配项时立即停止。
i: 表示不区分大小写(case-insensitive)模式, 即在确定匹配项时忽略模式与字符串的大小写。
m:表示多行(multiline)模式,即在到达一行文本末尾时还会继续查找下一-行中是否存在与模式匹配的项。
RegExp构造函数
字符串模式(pattern)
模式修正符(flags)
如果是字面量构建的正则表达式,那么大致可以分为4个部分:定界符,简单字符,元字符和模式修正符。而如果是构造函数构建的正则表达式,则少了一个定界符,由简单字符,元字符以及模式修正符组成。
元字符
. 点号:单个任意字符除回车\r、换行\n、 行分隔符\u2028和段分隔符\u2029外)。
[ ] 字符组:列出的单个任意字符。
[``] 排除型字符组:未列出的单个任意字符。
?问号:匹配0次或1次。
* 星号:匹配0交或多次。
+ 加号:匹配1次或多次。
{a,b} 区间量词:匹配至少a次,最多b次。
^ 脱字符:行的起始位置。
$ 美元符:行的结束位置。
| 竖线:分隔两边的任意-个表达式。
()括号:限制多选结构的范围,标注星词作用的元素,为反向引用捕获文本。
\1,\2.. 反向引用:匹配之前的第一、第二.. 组括号内的表达式匹配的文本。
转义字符
1.因为元字符有特殊的含义,所以无法直接匹配。如果要匹配它们本身,则需要在它们前面加上反斜杠\
2. \加非元字符,表示一些不能打印的特殊字符.
\0 :NUL字符\u0000.
[\b] :匹配退格符\u0008,不要与\b混淆.
\t :制表符\u0009.
\n :换行符\u0O0A.
\v :垂直制表符\u00OB.
\f :换页符\u000C.
\r :回车符\uOOOD.
\xnn :由十六进制数nn指定的拉丁字符.
\uxxxx :由十六进制数xxxx指定的Unicode字符(\u4e00-\u9fa5代表中文).
\cX :控制字符X,表示ctH_X, 其中的X是A-Z之中任一 个英文字母, 用来匹配控制字符.
3. \加任意其他字符,默认情况就是匹配此字符,也就是说,反斜线\被忽略了.
字符组相关元字符
1.字符组介绍
注意:字符组中的字符排列顺序并不影响字符组的功能,出现重复字符也不会影响.
2.范围
注意:如果连字符出现在字符组的开头或末尾,它表示的也是普通的连字符号,而不是一个范围.
3.排除
注意:在字符组内部,脱字符^表示排除,而在字符组外部,脱字符^表示一个行锚点,^符号是元字符,在字符组中只要^符号不挨着左方括号就可以表示其本身含义,不转义也可以。
4.简记
字符组简记
\d :数字,等同于[0-9].
\D :非数字,等同于[^0-9].
\s :空白字符,等同于[\ f\n\ r\t\u000B\ u0020\ u00A0\u2028\u2029 ].
\S :非空白字符,等同于[^\ f\n\r\t\u000B\u0020\u00A0\u2028\u2029].
\w :字母、数字、下划线,等同于[0-9A-Za-z_ ] (汉字不属于\w).
\W :非字母、数字、下划线,等同于[^0-9A-Za-z_ ].
5.任意字符
点可以代表任意字符,其实并不是。点号.代表除回车(\r),换行(n),行分隔符(u2028)和段分隔符(u2029)以外的任意字符。妥善的利用互补属性,可以得到一些巧妙的效果。比如,[\s\S]、 [\w\W]、 [d\D]都可以表示任意字符.
量词相关元字符
{n} :匹配n次
{n,m} :匹配至少n次,最多m次
{n,} :匹配至少n次
? :相当于{0,1}
* :相当于{0,}
+ :相当于{1,}
贪婪模式(扩展)
懒惰模式(扩展)
{n}? :匹配n次
{n,m}? :匹配至少n次,最多m次
{n,}? :匹配至少n次
?? :相当于{0,1}
*? :相当于{0,}
+? :相当于{1,}
括号相关元字符
分组
捕获
反向引用(扩展)
非捕获(扩展)
选择相关元字符
竖线|在正则表达式中表 示或(OR)关系的选择,以竖线1分 隔开的多个子表达式也叫选择分支或选择项。在一个选择结构中,选择分支的数目没有限制。
在选择结构中,竖线|用来分隔选择项, 而括号()用来规定整个选择结构的范围。如果没有出现括号,则将整个表达式视为一个选择结构。
选择项的尝试匹配次序是从左到右,直到发现了匹配项,如果某个选择项匹配就忽略右侧其他选择项,如果所有子选择项都不匹配,则整个选择结构匹配失败。
断言相关元字符(扩展)
单词边界
起始结束
环视
注意:环视虽然也用到括号,却与捕获型分组编号无关;但如果环视结构出现捕获型括号,则会影响分组。
模式修正符
i :默认地,正则表达式是区分大小写的,通过设置标志"1,可以忽略大小写(ignore case)。
m :默认地,正则表达式中的^和$匹配的是整个字符串的起始位置和结束位置,而通过设置标志'm',开启多行模式,它们也能匹配字符串内部某-行文本的起始位置和结束位置.
g :默认地,第-次匹配成功后,正则对象就停止向下匹配了。g修饰符表示全局匹配(global),设置'g标志后,正则对象将匹配全部符合条件的结果,主要用于搜索和替换.
优先级
\ :转义符
() (?!) (?=) [ ] :括号、字符组、环视
* + ?{n} {n,} {n,m} :量词
$ :起始结束位置
| :选择
由于括号的用途之一就是为量词限定作用范围,所以优先级比量词高.
局限性
●POSIX字符组(只 支持普通字符组和排除型字符组)
●Unicode支 持(只支持单个Unicode字符)
●匹配字符串开始和结尾的\A和Z锚(只支持和$)
●逆序环视(只支持顺序环视)
●命名分组(只支持0-9编号的捕获组)
●单行模式和注释模式(只支持m、 i、g)
●模式作用范围
●纯文本模式
正则表达式属性和方法
1.实例属性
●global:布尔值, 表示是否设置了g标志
●ignoreCase:布尔值, 表示是否设置了i标志
●lastIndex:整数, 表示开始搜索下一个匹配项的字符位置,从0算 起
●multiline:布尔值,表示是否设置了标志m
●source:正则表达式的字符串表示,按照字面量形式而非传入构造函数中的字符串模式返回
2.构造函数属性(扩展)
3.实例方法
对象通用方法(扩展)
●toString0: toString0方 法返回正则表达式的字面量
●toLocaleString(: toL ocaleString0方法返回正则表达式的字面量
●valueOf): valueOf0方 法返回返回正则表达式对象本身
注意:不论正 则表达式的创建方式是哪种,这三个方法都只返回其字面量形式
正则匹配方法
test():test()方法用来测试正则表达式能否在字符串中找到匹配文本,接收一个字符串参数,匹配时返回true,否则返回false。
exec():exec()方法专门为捕获组而设计,接受一个参数,即要应用模式的字符串。然后返回包含匹配项信息的数组,在没有匹配项的情况下返回null
在匹配项数组中,第一项是与整个模式匹配的字符串,其他项是与模式中的捕获组匹配的字符串,如果模式中没有捕获组,则该数组只包含一项
返回的数组包含两个额外的属性:index和input 。index 表示匹配项在字符串的位
置,input 表示应用正则表达式的字符串
注意:用exec(方法找出匹配的所有位置和所有值

posted @ 2019-09-01 22:41  七*月  阅读(194)  评论(0编辑  收藏  举报