JavaScript筑基篇——内置对象

提示:学习使用,仅供参考!


前言

内置对象是值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]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值