JS 工具类

包装类

在JS中为我们提供了三个包装类:

  • String()
  • Boolean()
  • Number()
    通过这三个包装类可以创建基本数据类型的对象
    例子:
    var num = new Number(2);  
    var str = new String("hello");  
    var bool = new Boolean(true); 
    

    但是在实际应用中不建议这么使用。

当我们去操作一个基本数据类型的属性和方法时,
解析器会临时将其转换为对应的包装类,然后再去操作属性和方法,
操作完成以后再将这个临时对象进行销毁。

Date

日期的对象,在JS中通过Date对象来表示一个时间
创建对象
创建一个当前的时间对象

 var d = new Date();  

创建一个指定的时间对象

	var d = new Date("月/日/年 时:分:秒");  

方法:

| name | | | —————– | ———————————————————— | | getDate() | 当前日期对象是几日(1-31) | | getDay() | 返回当前日期对象时周几(0-6)
0 周日
1 周一 。。。 | | getMonth() | 返回当前日期对象的月份(0-11)
0 一月 1 二月 。。。 | | getFullYear() | 从 Date 对象以四位数字返回年份。 | | getHours() | 返回 Date 对象的小时 (0 ~ 23)。 | | getMinutes() | 返回 Date 对象的分钟 (0 ~ 59)。 | | getSeconds() | 返回 Date 对象的秒数 (0 ~ 59)。 | | getMilliseconds() | 返回 Date 对象的毫秒(0 ~ 999)。 | | getTime() | 返回当前日期对象的时间戳
时间戳,指的是从1970年月1日 0时0分0秒,到现在时间的毫秒数
计算机底层保存时间都是以时间戳的形式保存的。 | | Date.now() | 可以获取当前代码执行时的时间戳 | | setHours() | 设置 Date 对象中的小时 (0 ~ 23) |

Math

Math属于一个工具类,它不需要我们创建对象,它里边封装了属性运算相关的常量和方法
我们可以直接使用它来进行数学运算相关的操作
方法:
Math.PI
常量,圆周率
Math.abs()
绝对值运算
Math.ceil()
向上取整
Math.floor()
向下取整
Math.round()
四舍五入取整
Math.random()
生成一个01之间的随机数
生成一个xy之间的随机数
Math.round(Math.random()*(y-x)+x);
Math.pow(x,y)
求x的y次幂
Math.sqrt()
对一个数进行开方
Math.max()
求多个数中最大值
Math.min()
求多个数中的最小值

字符串的相关的方法

使用ES6中的字符串新方法

String.prototype.padStart(maxLength, fillString='')String.prototype.padEnd(maxLength, fillString='')来填充字符串;

length
获取字符串的长度
charAt()
根据索引获取指定的字符
charCodeAt()
根据索引获取指定的字符编码
String.fromCharCode()
根据字符编码获取字符
indexOf()
lastIndexOf()
从一个字符串中检索指定内容
需要一个字符串作为参数,这个字符串就是要检索的内容,
如果找到该内容,则会返回其第一次出现的索引,如果没有找到则返回-1。
可以指定一个第二个参数,来表示开始查找的位置
indexOf()是从前向后找
lastIndexOf()是从后向前找
slice(start,[end])
可以从一个字符串中截取指定的内容,并将截取到内容返回,不会影响原变量
参数:
第一个:截取开始的位置(包括开始)
第二个:截取结束的位置(不包括结束)
可以省略第二个参数,如果省略则一直截取到最后
可以传负数,如果是负数则从后往前数
substr()
和slice()基本一致,不同的是它第二个参数不是索引,而是截取的数量

substring()
和slice()基本一致,不同的是它不能接受负值作为参数,如果设置一个负值,则会自动修正为0,
substring()中如果第二个参数小于第一个,自动调整位置
toLowerCase()
将字符串转换为小写并返回
toUpperCase()
将字符串转换为大写并返回

正则表达相关方法

split()
可以根据指定内容将一个字符串拆分为一个数组
参数:
需要一个字符串作为参数,将会根据字符串去拆分数组
可以接收一个正则表达式,此时会根据正则表达式去拆分数组

match()
可以根据正则表达式,从一个字符串中将符合条件的内容提取出来
默认情况下我们的match只会找到第一个符合要求的内容,找到以后就停止检索
我们可以设置正则表达式为全局匹配模式,这样就会匹配到所有的内容
可以为一个正则表达式设置多个匹配模式,且顺序无所谓
match()会将匹配到的内容封装到一个数组中返回,即使只查询到一个结果

replace()
可以将字符串中指定内容替换为新的内容
参数:
1.被替换的内容,可以接受一个正则表达式作为参数
2.新的内容 空串则为删除""
默认只会替换第一个

search()
可以搜索字符串中是否含有指定内容
如果搜索到指定内容,则会返回第一次出现的索引,如果没有搜索到返回1
它可以接受一个正则表达式作为参数,然后会根据正则表达式去检索字符串
serach()只会查找第一个,即使设置全局匹配也没用