提供了一组数学运算相关的API;是一个特殊的对象,不需要new创建就可以直接调用API
PI 获取圆周率
abs() 计算绝对值
ceil() 向上取整
floor() 向下取整
round() 四舍五入取整
pow(x,y) 计算x的y次方
max() 获取一组数字的最大值
min() 获取一组数字的最小值
random() 获取随机数,结果是一个0~1数字, >=0 <1
双色球
红球:在1~33之间随机获取6个,不能重复,进行从小到大的排序 蓝球:在1~16之间随机获取1个,可以和之前的红球重复
将以上获取的7个数字放入到一个数组
用于对日期时间的存储和计算
new Date('2023/5/10 11:40:30')
new Date(2023,4,10,11,40,30) 月份的值是0~11,对应的是1~12月
new Date() 存储的是当前操作系统的时间
new Date(1680000000000) 时间戳,存储的是距离计算机元年毫秒数
toLocaleString() 转为本地字符串
getFullYear() 年 getMonth() 月份 0~11之间的值 getDate() 日期 getHours() 小时 getMinutes() 分钟 getSeconds() 秒钟 getMilliseconds() 毫秒 getDay() 星期 0~6 对应 日~六 getTime() 获取时间戳
Date.now() 获取当前时间的时间戳
练习:创建Date对象,保存当前操作系统的时间,获取对象中存储的值,最后显示以下格式: 今天是xxxx年xx月xx日 xx:xx:xx 星期三
var d = new Date()
var year = d.getFullYear()
var month = d.getMonth()+1
var date = d.getDate()
var hour = d.getHours()
var minute = d.getMinutes()
var second = d.getSeconds()
var day = d.getDay()
// 将星期的值放入到数组
var arr = ['日','一','二','三','四','五','六']
console.log(`今天是${year}年${month}月${date}日 ${hour}:${minute}:${second<10 ? '0'+second : second} 星期${arr[day]}`)
练习:计算出距离本周日(2023/5/14)还有x天x时x分x秒
var d1 = new Date('2023/5/14')
// 创建对象保存当前时间
var d2 = new Date()
// 获取当前时间的时间戳
// console.log(d2.getTime(),Date.now())
// 计算两者相差的毫秒数
var d = d1.getTime() - d2.getTime()
// 把单位由毫秒转换为秒
d = parseInt(d/1000)
// 计算出相差的秒部分:去除相差时间中含有的分钟(60)
var second = d%60
// 计算出相差的分钟:去除相差的时间中含有的小时(3600),把单位转为分钟
var minute = parseInt(d%3600/60)
// 计算相差的小时:去除相差的时间中含有的天(24*3600),把单位转为小时
var hour = parseInt(d%(24*3600)/3600)
// 计算相差的天:把单位转为天
var day = parseInt(d/(24*3600))
console.log(day,hour,minute,second)
修改Date对象中存储的日期时间
setFullYear() 年 setMonth() 月份 0~11之间的值 setDate() 日期 setHours() 小时 setMinutes() 分钟 setSeconds() 秒钟 setMilliseconds() 毫秒 setTime() 设置时间戳,会产生一个具体的日期时间
var d = new Date()
// 拷贝Date对象,把Date对象作为参数
var d2 = new Date(d)
练习:创建一个Date对象,保存一个员工的入职时间2023/8/10;合同期为3年,计算出到期时间;合同到期前一个月要进行续签,计算出续签时间;最后打印出以下时间 入职时间:xxx 到期时间:xxx 续签时间:xxx
new Number() //将一个数值包装为对象
Number() //将一个值转换为数值
toFixed(n) 保留小数点后n位
new Boolean() //将一个布尔值转包装为对象
Boolean() //将一个值转为布尔型
!!值 将一个值转隐式换为布尔型
语法错误(Syntax Error):代码编写不符合语法规范,例如缺少半块括号、出现字符...
引用错误(ReferenceError):使用了未声明的变量,例如:变量名称写错、由于作用域原因访问不到变量
类型错误(TypeError):调用的不是一个函数类型的值,例如:API名称些错误..
自定义错误: 程序员自己指定的错误 throw 自定义错误内容
try {
//尝试执行,可能产生错误
} catch(err) {
//一旦出现错误,就会捕获错误,将错误收集到err
//备选方案
}