js 第六天
内置对象
内置对象就是指 JS 语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是最基本而必要的功能(属性和方法)。
查文档的步骤
1、查阅该方法的功能。
2、查看里面参数的意义和类型。
3、查看返回值的意义和类型。
MDN文档:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript
Math 对象
Math 对象是一个内置对象,它具有数学常数和函数的属性和方法。它不是一个构造函数,所以不需要 new 来调用,而是直接使用里面的属性和方法即可。
| 属性和方法 | 作用 | 使用 |
| PI | 获取圆周率 | Math.PI |
| max | 获取最大值 | Math.max([value1,value2...]) |
| min | 获取最小值 | Math.min([value1,value2...]) |
| abs | 获取绝对值 | Math.abs(value) |
| floor | 向下取整 | Math.floor(value) |
| ceil | 向上取整 | Math.ceil(value) |
| round | 四舍五入 | Math.round(value) |
随机数
Math.random() 方法用于返回一个 0 - 1 之间的随机小数,包括 0 但不包括 1。

返回两个数之间的随机整数并且包含这两个数:Math.floor( Math.random() * (max - min + 1)) + min。
// 输出0到10之间的随机整数 console.log(Math.floor(Math.random() * (10 - 1 + 1)) + 1);
随机点名
let arr = ['王小虎', '王中虎', '王大虎', '王特虎', '王壁虎', '王老虎']
console.log(arr[Math.floor(Math.random() * (arr.length - 1 - 0 + 1)) + 0]);
Date 日期对象
Date 是一个构造函数,必须使用 new 来创建日期对象。

基本使用
当前时间:new Date()
指定时间:new Date(时间),时间可以是数值型也可以是字符型。数值型用逗号隔开,字符串用 - 隔开。

格式化日期
| 方法名 | 说明 | 代码 |
| getFullYear() | 获取当年 | Obj.getFullYear() |
| getMonth() | 获取当月(0 - 11) | Obj.getMonth() |
| getDate() | 获取当天日期 | Obj.getDate() |
| getDay() | 获取星期( 周日:0 到 周六 6 ) | Obj.getDay() |
| getHours() | 获取当前小时 | Obj.getHours() |
| getMinutes() | 获取当前分钟 | Obj.getMinutes() |
| getSeconds() | 获取当前秒钟 | Obj.getSeconds() |
获取总的毫秒值(时间戳)
有四种方法可以获取从 1970-1-1 到现在的总毫秒数。
1、valueOf()
2、getTime()
3、+new Date()
4、H5 新增的方法,Date.now()

将毫秒转换为时分秒的公式
| 天数 | d = parseInt(总秒数 / 60 / 60 / 24) |
| 小数 | h = parseInt(总秒数 / 60 / 60 % 24) |
| 分数 | m = parseInt(总秒数 / 60 % 60) |
| 当前秒数 | s = parseInt(总秒数 % 60) |
数组对象
两种方法检测是否为数组
1、instanceof 运算符,检测一个元素是否为数组。
2、Array.isArray( obj ),检测 obj 是否为数组。H5 新增方法。

添加或删除数组元素
| 方法名 | 说明 | 返回值 |
| push(参数1……) | 末尾添加一个或多个元素,注意修改原数组 | 返回新的长度 |
| pop() | 删除数组最后一个元素,把数组长度减 1 无参数、修改原数组 | 返回它删除的元素 |
| unshift(参数1……) | 向数组的开头添加一个或多个元素,注意修改元素组 | 返回新的长度 |
| shift() | 删除数组的第一个元素,数组长度减 1 无参数、改变原数组 | 返回第一个元素的值 |

数组排序
| 方法名 | 说明 | 返回值 |
| reverse() | 颠倒数组中元素的顺序,无参数 | 该方法会改变原来的数组并返回新数组 |
| sort() | 对数组的元素进行排序 | 该方法会改变原来的数组并返回新数组 |
sort 的参数是一个回调函数,里面有两个参数。在函数里如果是返回 参数1 - 参数2,那么就是升序;如果是 参数2 - 参数1,那么就是降序。

数组索引方法
| 方法名 | 说明 | 返回值 |
| indexOf() | 查找数组中指定元素的第一个索引 | 如果存在返回所以,如果没有返回 -1 |
| lastIndexOf() | 查找数组中指定元素的最后一个索引 | 如果存在返回所以,如果没有返回 -1 |

数组转字符串
| 方法名 | 说明 | 返回值 |
| toString() | 把数组转换成字符串,逗号分隔每一项 | 返回一个字符串 |
| join('分隔符') | 方法用于把数组中的所有元素转换成一个字符串 | 返回一个字符串 |

字符串对象
基本包装类型
基本包装类型指的是把简单数据类型包装成了复杂数据类型。基本包装类型有:String、Number、Boolean。
字符串的不可变
指的是里面的值不变,虽然看上去可以改变内容,但其实是地址变了,内存中开辟了一个内存空间。
根据字符返回位置
indexOf:查找字符在字符串中首次出现的位置并返回下标,如果找不到返回 -1。参数 1 是要查找的元素,参数 2 是开始的位置。从前往后。
lastIndexOf:查找字符在字符串中最后一次出现的位置并返回下标,如果找不到返回 -1。参数 1 是要查找的元素,参数 2 是开始的位置。从后往前。

根据位置返回字符
| 方法名 | 说明 | 使用 |
| charAt(index) | 返回指定位置的字符(index字符串的索引号) | str.charAt(0) |
| charCodeAt(index) | 获取指定位置处字符的ASCII码(index索引号) | str.charCodeAt(0) |
| str[index] | 获取指定位置字符 | HTML5,IE8支持 和 charAt()等效 |

操作字符串
| 方法名 | 说明 |
| concat(str1,str2……) | concat()方法用于连接两个或多个字符串。拼接字符串,等效于 +,+更常用 |
| substr(start,length) | 从start位置开始(索引号),length取的个数 |
| slice(start,end) | 从start位置开始,截取到end位置,end取不到,他俩都是索引号 |
| substring(start,end) | 从start位置开始,截取到end位置,基本和slice相同,但是不接受负值 |

替换字符
1、替换字符:replace('被替换的字符','替换为字符')。只会替换第一个字符
2、字符转换为数组:split('分隔符')。


浙公网安备 33010602011771号