JavaScript的内置对象:可以直接使用的对象(不需要使用字面量、Object、构造函数创建的对象,JavaScript已经定义好的对象)
一、Math对象:是一个内置对象,用于数学运算的。不是一个函数对象(通过构造函数创建的对象称为函数对象),在创建Math对象不能使用new运算符(即不能 new Math()),它的属性和方法在使用时采用:
Math.属性名
Math.方法名(【参数】)
(1)属性:
Math.PI :表示圆周率
(2)方法:
Math.abs(x) :返回参数x的绝对值
Math.floor(x):返回小于等于形参x的最大整数。向下取整
Math.ceil(x):返回大于等于形参x的最小整数。向上取整
Math.max(x,y,z...):返回所有参数的最大值
Math.min(x,y,z...):返回所有参数的最小值
Math.pow(x,y):返回x的y次方
Math.sqrt(x):返回x的算术平方根
Math.round(x):取整,x四舍五入后的整数
Math.random():返回0.0~1.0之间的随机数(不包含1.0)
Math.trunc():会将数字的小数部分去掉,只保留整数部分。
练习1:定义一个函数,返回min~max之间的随机数
function Random(){ //定义构造方法:没有属性
this.getRandom = function(min,max){
let num = Math.random()*(max-min)+min
return Math.round(num)
}
}
let r1 = new Random() //创建对象r1
console.log(r1.getRandom(10,50)) //通过对象r1调用方法生成随机数
练习2:定义一个3*4的二维数组,数组元素随机生成,并输出数组
function Random(){ //定义构造方法:没有属性
this.getRandom = function(min,max){
let num = Math.random()*(max-min)+min
return Math.round(num)
}
}
let r1 = new Random() //创建对象r1
console.log(r1.getRandom(10,50)) //通过对象r1调用方法生成随机数
//1.定义3*4的二维数组
let arr = new Array( new Array(4),
new Array(4),
new Array(4))
//2.随机生成二维数组中的元素、并显示
let str = ''
for(let i=0;i<arr.length;i++){ //行下标
for(let j=0;j<arr[i].length;j++){ //列下标
arr[i][j] = r1.getRandom(10,50)
str += arr[i][j] + '\t'
}
str +='\n'
}
console.log(str)
三、Date对象:是一个函数对象,使用new 运算符创建对象
(1)构造函数:
a、无参的构造函数:new Date() --->使用的日期格式是月日年
b、传入年月日、时分秒:new Date(年,月,日,时,分,秒) --->月份值应该在0~11之间,0表示1月,11表示12月
c、传入字符串表示日期和时间:new Date(‘字符串’)
d、传入整数:new Date(整数) --->整数表示毫秒数
(2)其他函数:
a、getFullYear():获取年份(4位)
b、getMonth():获取月份(0~11)
c、getDate():获取日期(月份中的某一天,1~31)
d、getDay():获取星期(0~6,0表示星期天)
e、getHours():获取小时数
f、getMinutes():获取分钟数
g、getTime():获取1970年1月1日0时0分0秒到当前日期时间之间的毫秒数
h、toLocaleDateString():返回该日期对象日期部分的字符串(即将年月日转换为字符串)
i、toLocaleString():返回该日期对象的字符串(即将日期对象转换为字符串)
j、toLocaleTimeString():返回该日期对象时间部分的字符串(将时分秒转换为字符串)
k、toTimeString():以人类易读形式返回一个日期对象时间部分的字符串
练习4、倒计时(2023年元旦的倒计时),格式是:距离2023年元旦还有 X 天 X 时 X 分 X 秒
(1)创建两个日期对象:当前日期对象、创建2023-1-1日期对象
(2)计算它们之间相差的毫秒数
(3)将该毫秒数转换成天、时、分、秒
//1.创建日期对象
let end = new Date('2023-1-1')
let start = new Date()
//2.计算得到两个日期对象之间的毫秒数之差,转换成秒钟
let times = (end - start)/1000
//3.计算得到天、时、分、秒
let d = parseInt(times/60/60/24) //转换成天数
d = d < 10 ? ('0'+d):d //如果天数是个位数,则在前面补0
let h = parseInt(times/60/60%24)
h = h < 10? ('0'+h):h
let m = parseInt(times/60%60)
m = m < 10? ( '0'+m):m
let s = parseInt(times%60)
s = s < 10? ('0'+s):s
let info = `距离2023年元旦还有 ${d} 天 ${h} 时 ${m} 分 ${s} 秒`
console.log(info)