- Date对象
- 在Js中使用Date对象来表示一个时间- 创建一个Date对象
var a=new Date();
如果直接使用构造函数创建一个Date对象,则会封装当前代码执行的时间
-
创建一个指定的时间对象
- 需要在构造函数中传递一个表示时间的字符串作为参数var d2=new Date("16/04/2020");
日期的格式 月份/日/年份 时:分:秒
-
Date对象的方法
-
getDate()
获取当前日期对象是几日 -
getTime()
- 获取当前日期对象的时间戳
- 时间戳,指的是从格林威治标准时间的1970年1月1日,0时0分0秒到当前日期所花费的毫秒数(1秒=1000毫秒)
- 计算机底层在保存时间时使用的都是时间戳 -
Date.now()
- 获取当前的时间戳var time=Date.now(); console.log(time);
会输出执行这行代码的时候的时间戳
-
- 创建一个Date对象
-
Math
- Math和其他的兑现过不同,它不是一个构造函数,它属于一个工具类,所以不用创建对象,它里面封装了数学运算相关的属性和方法-
方法
-
abs()
- 可以用来计算一个数的绝对值console.log(Math.abs(222));
-
ceil()
- 对数进行上舍入(小数位只要有值就自动进1) -
floor()
- 对数进行下取整 -
round()
- 对一个数进行四舍五入取整 -
random()
- 可以用来生成一个0-1之间的随机数 -
max()
- 可以获取多个数中的最大值 -
min()
- 可以获取多个数之间的最小值 -
pow(x,y)
- 返回x的y次幂
-
-
-
包装类
- 在JS中为我们提供了三个包装类,通过这三个包装类可以将基本数据类型的数据转换为对象-
String()
-
可以将基本数据类型字符串转换为String对象
-
-
Number()
-
可以将基本数据类型字符串转换为Number对象
-
-
Boolean()
-
可以将基本数据类型字符串转换为Boolean对象
-
-
上面三个包装类可以往括号里面添加参数,将相应的参数转换为对象
但是注意:我们在实际应用中不会使用基本数据类型的对象,如果使用这类对象,在做一些比较时可能会带来不可预料的结果 -
方法和属性只能添加给对象,不能添加给基本数据类型
当我们对一些基本数据类型的值去调用属性和方法时,浏览器会临时使用包装类将其转换为对象,然后在调用对象的属性和方法
-
-
字符串的方法
- 在底层,字符串是以字符数组的形式保存的["H","E","L"]-
charAt()
- 返回字符串中指定位置的字符
- 不会对原字符串进行更改 -
charCodeAt()
- 返回在指定位置的字符的Unicode编码 -
formCharCode()
- 可以根据字符编码去获取字符
- 通过构造函数对象var result=String.formCharCode(74);
-
indexOf()
- 该方法可以检索一个字符串中是否含有指定内容
- 如果字符串中含有该内容,则会返回其第一次出现的索引,如果没有找到指定的内容则返回-1
- 可以指定一个第二个参数,制定开始查找的位置 -
lastIndexOf()
- 该方法的用法和indexOf()的使用方法一样
- 但是这个方法是从后往前找,并且返回指定内容在字符串中最后的索引位置,也可以指定开始查找的位置 -
subString()
- 可以用来截取一个字符串,和slice()类似
- 参数:1.开始截取位置的索引(包括开始位置) 2.结束位置的索引(不包括结束位置)
- 不同点:这个方法不能接受负值作为参数,如果传递了一个负值,则默认使用0 -
substr()
- 用来截取字符串
- 参数:1.开始位置的索引 2.截取的长度 -
split()
- 可以将一个字符串拆分为一个数组
- 参数:需要一个字符串作为参数,将会根据该字符串去拆分数组
- 如果传递一个空串作为参数,则会将字符串里面的每个字符拆分
-
-
正则表达式
- 用于定义一些字符串的规则,计算机可以通过正则表达式,来检查一个字符串是否符合规则,或则将字符串中符合规则的内容提取出来-
创建正则表达式的对象
var reg=new RegExp();
语法:
var 变量名 = new RegExp(“正则表达式”,“匹配模式”); -
正则表达式的方法
-
test()
- 可以用来检查字符串是否符合正则表达式的规则,如果符合则返回true,否则返回false -
匹配模式(也要是字符串的形式)
i:忽略大小写
g:全局匹配模式
-
-
使用字面量来创建正则表达式
语法: var 变量名=/正则表达式/匹配模式
这个里面不需要以字符串形式填写
-
创造一个正则表达式,检查一个字符串中是否有a或者b
var reg=/a|b/
使用|表示或者的意思
[]里面的内容也是或的关系,[abc]表示a|b|c
[a-z]表示a到z里面的字母,如果含有都返回true
[A-z]表示包括大写小写所有字母
[^] 除了里面的内容,如果字符串含有除了里面的内容则返回true,如果只有里面的内容则返回false -
支持正则表达式的String对象的方法
-
split()
- 参数可以是正则表达式,将其视作拆分的规则
- 默认全局变量 -
search()
- 检索与正则表达式相匹配的值
- 如果搜索到指定内容,则会返回第一次出现的索引,如果没有搜索到返回-1
- 可以接受一个正则表达式作为参数,然后根据正则表达式检索字符串
- 无法全局 -
match()
- 找到一个或多个正则表达式的匹配
- 默认情况下,match只会找到第一个符合要求的内容,找到以后就停止检索
我们可以设置正则表达式为全局匹配模式,这样就会匹配到所有的内容
- 可以为一个正则表达式设置多个匹配模式,且顺序无所谓
- 会将匹配到的内容封装到一个数组中返回,即使只查询到一个结果 -
replace()
- 可以将字符串中指定内容替换为新的内容
- 需要两个参数:
1.被替换的内容
2.新的内容
-
-
正则表达式的语法
-
量词
- 通过量词可以设置一个内容出现的次数var reg=/a{3}/
{n}正好出现n次
量词只对前面的一个内容起作用
{m,n}表示出现m~n次
{m,}表示出现m次即以上都可以
+ 至少一个,相当于{1,}
* 0个或多个,相当于{0,}
? 表示0个或1个,相当于{0,1} -
检查一个字符串中是否以a开头
^a 匹配开头的a
a$ 匹配结尾的a
所以^a$表示字符串里面开头结尾只能是a -
如果一个正则表达式有对于不同位的字符有多个规则,可以将规则直接连起来
例子:判断一串字符是否是合格手机号的正则表达式可以如下进行表达var reg=/^1[3-9][0-9]{9}$/
-
检测一个字符串中是否含有.这个东西
- 知识点:正则表达式里面含有元字符(填写在正则表达式的第一个参数位置)这个东西,即每个符号可能都会有不同的意思
- 所以为了避免歧义,需要在正则表达式里面加转义字符
- . 代表着查找单个字符(任意字符),除了换行和行结束符 如果使用var reg=new RegExp()方式来构建正则表达式的话,需要加两个转义字符\\才能正常使用(因为参数是字符串的缘故),如果使用var reg=/ \. /的方式,转义字符只需要添加一个就行
- \w 代表查找任意字母、数字、_ \W 除了字母、数字、_
- \d 任意的数字 \D 除了数字
- \s 空格 \S 除了空格
- \b 单词边界 \B 除了单词边界
b的例子:创建一个正则表达式检查一个字符串中是否含有单词childvar reg=/\bchild\b/; var str="hello child dddd";
这种情况下会只匹配child,而不会匹配类似children这种单词
-
如果用户输入的用户名中含有多个空格,需要提取有效数据(前面,单词中间,结尾均有空格)的例子
//为了去除用户输入中的空格可以使用字符串的replace方法,将空格替换成空串 var str=prompt("请输入您的用户名"); 如果有不连续的多个规则在正则表达式里面,可以通过|来连接 var reg= /^\s*|\s*$/g; var result=str.replace(reg,""); console.log(result);
注意:正则表达式里面没有与,也不可以通过+来连接两个规则,因为这个符号代表一个两次
-
例子:提取邮箱的正则表达式
- 邮件的格式:任意字母数字下划线.任意字母数字下划线@任意字母数字下划线.任意字母(2-5位).任意字母(2-5位)var reg=/^/w{3,}(\.\w+)*@[A-z0-9]([A-z]{2-5}){1,2}$/; var str="hello.name@163.com"; var result=reg.test(str); console.log(result); 注意:如果是使用reg的test方法来匹配字符串中是否有符合规则的东西的时候,需要在规则前后加上开头结尾符号,即将{1,2}里面的2次全部都检查一遍,如果不加开头结尾符号,检测到1次有效结果就会退出然后返回true值,但是实际上是不符合规则的,所以要添加开头结尾符号
-
-
Javascript 2
本文详细介绍了JavaScript中Date对象的使用,包括创建当前时间和指定时间对象、常用方法如getDate(), getTime(), Date.now(),以及Math对象的数学运算和字符串包装类的功能。此外,还涵盖了正则表达式的创建和使用技巧,例如匹配模式和字符串操作方法。
摘要由CSDN通过智能技术生成