目录
存储当前系统时间,获取存储的值,今天是xxxx年xx月xx日 星期x
创建对象,保存员工入职时间2023/2/1,假设合同期限3年,计算到期时间,合同到期前一个月,会进行续签,计算出续签时间
Math 对象
不用创建对象,可以直接使用API
- PI 获取圆周率
- abs() 获取绝对值
- ceil() 向上取整
- floor() 向下取整
- round() 四舍五入取整
- pow() 计算x的y次方
随机下标算法:随机数*数组长度,再向下取整
var n=Math.floor(Math.random()*arr.length)
获取随机验证码,不重复
var arr=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
var arr2=[]
for (var i=0;i<4;i++){
// 获取随机下标
var n=Math.floor(Math.random()*arr.length)
arr2.push(arr[n])
arr.splice(n,1)
}
Date 对象
toLocaleString() 方法可根据本地时间把 Date 对象转换为字符串,并返回结果。
//转为本地字符串,用于调试阶段
// 月份存储的值0-11,对应的是1-12
var d2 = new Date(2022, 9, 12, 11, 1, 30);
console.log(d2.toLocaleString);
存储当前系统时间,获取存储的值,今天是xxxx年xx月xx日 星期x
// 创建Date对象,,最后打印
// 今天是xxxx年xx月xx日 星期x
var d = new Date("2022/10/1");
var year = d.getFullYear();
var month = d.getMonth() + 1;
var date = d.getDate() >= 10 ? d.getDate() : "0" + d.getDate();
var day = d.getDay();
var arr = ["日", "一", "二", "三", "四", "五", "六"];
// console.log(arr[day]);
console.log(`今天是${year}年${month}月${date}日 星期${arr[day]}`);
获取当前时间的时间戳
var d =Date.now()
计算距离2022/10/16还有x天 x:x:x
// 计算距离2022/10/16还有x天 x:x:x
// 计算两者相差毫秒数,时间戳相减
var d1 = new Date();
var d2 = new Date("2022/10/16");
// var d =parseInt(Date.now()/1000) //Date.now()/1000
var d = parseInt((d2.getTime() - Date.now()) / 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));
var str= `距离周日还有${day}天 ${hour}:${minute}:${second}`
创建对象,保存员工入职时间2023/2/1,假设合同期限3年,计算到期时间,合同到期前一个月,会进行续签,计算出续签时间
// 创建对象,保存员工入职时间2023/2/1,假设合同期限3年,计算到期时间,合同到期前一个月,会进行续签,计算出续签时间
// 入职时间
var d1 = new Date("2023/2/1");
// 拷贝入职时间,——到期时间
var d2 = new Date(d1);
// 设置为3年后
d2.setFullYear(d2.getFullYear() + 3);
// 拷贝到期时间——续签时间
var d3 = new Date(d2);
// 提前一个月
d3.setMonth(d3.getMonth()-1)
console.log("入职时间:" + d1.toLocaleString());
console.log("到期时间:" + d2.toLocaleString());
console.log("续签时间:" + d3.toLocaleString());
Number 对象
将一个数组包装为对象
var n2 = new Number(1);
自定义错误
// 自定义错误
var age = 80
if(age>60 || age<18){
throw '非法的年龄'
}
console.log(age);
错误处理
try {
// 尝试执行,可能出现错误,不阻止后续代码执行
// 出现错误,不会阻止后续代码执行
var age = 80;
if (age > 60 || age < 18) {
throw "非法的年龄";
}
} catch (err) {
// 只有try中出现错误,才会执行,捕获错误将错误收集到err
console.log(err);
}