1.1 取整
- parseInt 取整 舍弃小数部分
- Math.floor 向下取整 舍弃小数部分
- Math.ceil 向上取整 有小数就进位
- Math.round 四舍五入
1.2 数学方法
- Math.max(数值1,数值2,数值3…) 找序列中最大的值
- Math.min(数值1,数值2,数值3…) 找序列中最小的值
- Math.abs 取绝对值
- Math.sqrt 开根号
- Math.pow(num,n) 次方幂 num底数 n 次方幂
2.3 随机数
- Math.random() 随机生成0-1之间的数据 包括0不包括1
- 随机生成min到max之间的整数
- Math.floor( Math.random() * (max - min + 1) + min )
3.时间对象Date
月份单词
January:一月 February:二月 March:三月 April:四月
May:五月 June:六月 July:七月 August:八月
September:九月 October:十月 November:十一月 December:十二月
3.1 创建时间对象
- 创建当前时间对象
<script>
// 1.创建当前这一时刻的时间对象
var oDate = new Date();
console.log(oDate);// Thu Sep 01 2022 09:57:06 GMT+0800 (中国标准时间)
// 2.创建每秒的时间
setInterval(function(){
var a = new Date();
// console.log(a,"现在时刻");
},1000)
</script>
- 创建自定义时间
//a. 自定义的时间是一个字符串
var sDate = new Date("2023,1,1,12:00:00");
var sDate = new Date("2023 1 1 12:00:00");
var sDate = new Date("2023/1/1 12:00:00");
var sDate = new Date("2023-1-1 12:00:00");
console.log(sDate);//Sun Jan 01 2023 12:00:00 GMT+0800 (中国标准时间)
//b. 时间分开接受参数 创建2023年10月1日 12:00:00的时间
// 问题 想创建10月 但是结果出来的是11月
// 分析原因: 月份是从0开始的 0-1月 10-11月
var aDate = new Date(2023,9,1,12,0,0) //想创建10月 就给9
console.log(aDate);// Sun Oct 01 2023 12:00:00 GMT+0800 (中国标准时间)
var bDate = new Date(2023,9,1);
console.log(bDate);// Sun Oct 01 2023 00:00:00 GMT+0800 (中国标准时间)
3.2 获取时间
- 获取特定格式的时间
var oDate = new Date();
// 年月日 时分秒 日期
console.log(oDate);//Thu Sep 01 2022 10:39:02 GMT+0800 (中国标准时间)
// 1.获取特定格式的时间 年 月 日
console.log(oDate.toDateString());//Thu Sep 01 2022
console.log(oDate.toLocaleDateString());//2022/9/1
// 2.获取特定格式的时间 时 分 秒
console.log(oDate.toTimeString());//10:41:30 GMT+0800 (中国标准时间)
console.log(oDate.toLocaleTimeString());// 10:42:02
- 获取单个时间
// 3.获取单个时间
// 年
console.log(oDate.getFullYear());//2022\
// 月 月份是从0开始 0----1月份 8----9月份
console.log(oDate.getMonth() + 1);//9
// 日
console.log(oDate.getDate());// 1
// 时
console.log(oDate.getHours());
// 分钟
console.log(oDate.getMinutes());
// 秒
console.log(oDate.getSeconds());
// 星期 ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]
console.log(oDate.getDay());//4
- 获取时间戳
// 4.获取现在的时间戳 1970年1月1日0:0:0 到现在时刻的毫秒
console.log(oDate.getTime())
// 5.获取未来时间的时间戳 1970年1月1日0:0:0 到2023年10月1日的毫秒
var sDate = new Date("2023,10,1")
console.log(sDate);//Sun Oct 01 2023 00:00:00 GMT+0800 (中国标准时间)
console.log(sDate.getTime());//1696089600000
3.3 倒计时
- 实现思路:倒计时 未来时间的时间戳-现在时间的时间戳 = 差值(毫秒单位)
- 注意
- 1天 24 * 60 * 60 86400s
- 1时 60*60 3600s
- 1分 60 60s
<script>
auto();
setInterval(auto, 1000)
function auto() {
// 1.倒计时 未来时间的时间戳-现在时间的时间戳 = 差值(毫秒单位)
// 创建未来时间
var futureDate = new Date("2022,9,3");
// 创建现在时间
var currentDate = new Date();
// 时间差 毫秒单位转成秒 1s = 1000ms
var time = futureDate.getTime() - currentDate.getTime();
time = parseInt(time / 1000);
// console.log(time);// 131680
// 将time 转为 天 时 分 秒
/*
1天 24*60*60 86400s
1时 60*60 3600s
1分 60 60s
*/
var t = parseInt(time / 86400);
console.log(t);
var h = parseInt((time % 86400) / 3600);
console.log(h);
var m = parseInt((time % 86400 % 3600) / 60);
console.log(m);
var s = time % 60;
console.log(s);
// 将结果显示在页面上
document.body.innerHTML = "还剩余" + suppleZero(t) + "天" + suppleZero(h) + "时" + suppleZero(m) + "分" + suppleZero(s) + "秒"
}
function suppleZero(num) {
return num < 10 ? "0" + num : num;
}
</script>
4.字符串对象
4.1 创建字符串对象
- 字面量创建
// 1.字面量创建 (包装类对象 是使用字符串的方法的之后 会暂时将自己伪装成一个对象)
var str1 = "0711web";
console.log(str1);//0711web
console.log(typeof str1);// string
console.log(str1.length);// 7
- new关键字创建
// 2.new 关键字创建
var str2 = new String("0711web");
console.log(str2);//String {'0711web'}
console.log(typeof str2);// object
console.log(str2.length);//7