提示:学习使用,仅供参考!
目录
前言
内置对象
是值JavaScript语言自带的对象,这些对象供开发者使用,并提供了一些常用的或者是最基本而必要的功能(属性和方法)
JavaScript 内置有多个对象
- Math
- Date
- Array
- String
一、数学对象:Math
Math 对象不是构造函数
,它具有数学常数和函数的属性和方法
使用场景:常用于与数学相关的运算
1.1 常用方法
1.1.1 圆周率
属性、方法名 | 功能 |
---|---|
Math.PI | 圆周率 |
Math.PI // 3.141592653589793
1.1.2 取整
分为
向下取整
、向上取整
以及四舍五入取整
注意:字符串类型的纯数字也能进行运算
属性、方法名 | 功能 |
---|---|
Math.floor() | 向下取整 |
Math.ceil() | 向上取整 |
Math.round() | 四舍五入取整 |
Math.floor(3.9) // 向下取整:3
Math.floor('3.9') // 向下取整:3
Math.floor(-3.9) // 向下取整:-4
Math.ceil(3.9) // 向上取整:4
Math.ceil('3.9') // 向上取整:4
Math.ceil(-3.9) // 向上取整:-3
Math.round(-3.5) // 四舍五入取整:-3
Math.round(-3.9) // 四舍五入取整:-4
Math.round('-3.9') // 四舍五入取整:-4
Math.round(3.5) // 四舍五入取整:4
Math.round(3.1) // 四舍五入取整:3
1.1.3 最值与绝对值
最大值与最小值、绝对值
注意
:
① 字符串类型的纯数字也能进行比较与运算
② 绝对值运算时,小数后面位数的是连续的零,会自动消除
属性、方法名 | 功能 |
---|---|
Math.max() | 最大值 |
Math.min() | 最小值 |
Math.abs() | 绝对值 |
Math.max(10,9) // 10
Math.min(-10, 9) // -10
Math.abs(-10.100000) // 10.1
Math.abs('-10') // 10
Math.max('-10', 9) // 10
1.1.3 随机数
属性、方法名 | 功能 |
---|---|
Math.random() | 获取范围在 [0,1) 内的随机值 |
获得指定区域的随机整数:[a, b]
Math.floor(Math.random() * (b - a + 1)) + a;
获得指定区域的随机整数:[a, b)
Math.floor(Math.random() * (b - a)) + a;
二、日期对象:Date
Date是一个构造函数
,使用时需要实例化后才能使用其中具体方法和属性let date = new Date() let date = new Date('2023/6/1') // Thu Jun 01 2023 00:00:00 GMT+0800 (中国标准时间) let date = new Date('2023/06/01') // Thu Jun 01 2023 00:00:00 GMT+0800 (中国标准时间) let date = new Date('2023-6-1') // Thu Jun 01 2023 00:00:00 GMT+0800 (中国标准时间) let date = new Date('2023-06-01') // Thu Jun 01 2023 00:00:00 GMT+0800 (中国标准时间)
如果创建实例时并未传入参数,则得到的日期对象是当前时间对应的日期对象
作用
:处理日期和时间
2.1 常用方法
方法名 | 功能 |
---|---|
getFullYear() | 获得当前年份 |
getMonth() | 获得当前月份 (0-11) |
getDate() | 获得当前日期 |
getDay() | 获得当前星期 |
getHours() | 获得当前小时 |
getMinutes() | 获得当前分钟 |
getSeconds() | 获得当前秒数 |
let date = new Date('2023-06-01 12:12:12')
date.getFullYear() // 2023
date.getMonth() // 5
date.getDate() // 1
date.getDay() // 4
date.getHours() // 12
date.getMinutes() // 12
date.getSeconds() //12
实例化时传入的参数不全的情况
let date = new Date('2023')
date.getMonth() // 0
date.getDate() // 1
date.getDay() // 0
date.getHours() // 0
date.getMinutes() // 0
date.getSeconds() //0
2.2 总毫秒数
起始时间:1970年1月1日(世界标准时间)
方法名 | 说明 |
---|---|
new Date().valueOf() | 获得总毫秒数 |
new Date().getTime() | 获得总毫秒数 |
+ new Date() | 获得总毫秒数 |
Date.now() | 获得总毫秒数(HTML5中提供的方法,有兼容性问题) |
new Date();.valueOf()
new Date();.getTime()
var now = + new Date();
// HTML5中提供的方法,有兼容性问题
var now = Date.now();
三、数组对象:Array
数组一种可以按顺序保存数据的数据类型
Array是一个构造函数
,使用时需要实例化后才能使用其中具体方法和属性
3.1 实例化
通过构造函数
实例化
let arr = new Array():创建出的是一个空数组
let arr = new Array(3):创建出的是一个长度为3的数组,值为 undefined
let arr = new Array(1, 2, 3): 创建的是一个长度为3且内容是[1, 2, 3]的数组
通过 []
实例化
let arr = [1, 2, 3]
3.2 检测
instanceof 运算符
判断一个对象是否是某个构造函数的实例,不单单局限于Array
var arr = [1, 23];
var obj = {};
console.log(arr instanceof Array); // true
console.log(obj instanceof Array); // false
Array.isArray()
用于判断一个对象是否为数组
HTML5 中提供的方法
var arr = [1, 23];
var obj = {};
console.log(Array.isArray(arr)); // true
console.log(Array.isArray(obj)); // false
3.3 常用方法
删除
方法名 | 说明 |
---|---|
pop() | 删除数组最后一个元素,修改原数组,返回删除的值 |
shift() | 删除数组第一个元素,修改原数组,返回删除的值 |
splice(index, num) | 删除数组从索引为 index 开始的 num 个数(若未传入num,则删除索引为 index及之后的所有内容 ),修改原数组,返回删除的数组成的新数组 |
增加
方法名 | 说明 |
---|---|
push(参数a…) | 向数组末尾追加一个或多个元素,修改原数组,返回数组新的长度 |
unshift(参数a…) | 向数组末开头添加一个或多个元素,修改原数组,返回数组新的长度 |
排序
方法名 | 说明 |
---|---|
reverse() | 颠倒数组元素顺序,改变原数组,返回新数组 |
sort() | 对数组元素进行排序,改变原数组,返回新数组 |
注意
:sort() 默认为升序排序,若想降序,需要传入参数function(a,b){ return b-a;}
data.sort(function(a,b){ return b-a;})
data.sort((a,b) => { return b-a;})
索引
方法名 | 说明 |
---|---|
indexOf(a) | 获得元素a在数组中的第一个索引,若不存在则返回-1 |
lastIndex(a) | 获得元素a在数组中的最后一个索引, 若不存在则返回-1 |
转字符串
方法名 | 说明 |
---|---|
toString | 以逗号分隔,将数组每个元素拼接成一个字符串 |
join(‘分隔符’) | 根据指定分隔符将数组所有元素转换为一个字符串 |
注意
- join() :以
逗号
作为分隔符 - join():没有分隔符
let data = [1,3, 4, 8, 6, 7]
data.toString() // '1,3,4,8,6,7'
data.join() // '1,3,4,8,6,7'
data.join('') // '134867'
data.join('+') // '1+3+4+8+6+7'
拼接
concat():连接两个或多个数组,不影响原数组,返回新数组
var a = ["a", "b"];
var b = ["c", "d", "e"];
var c = a.concat(b);
截取
slice(beginIndex, endIndex):截取从索引为 beginIndex 到 索引为 endIndex - 1 的内容,若endIndex未初值,则截取索引为 beginIndex及之后的内容
,返回截取的数组
不影响原数组
let data = [0, 1, 2, 3, 4, 5]
data.slice(2,4) // [2,3]
data.slice(2) // [2,3, 4, 5]
console.log(data) // [0, 1, 2, 3, 4, 5]